Skip to content

Conversation

@svkeerthy
Copy link
Contributor

@svkeerthy svkeerthy commented Oct 17, 2025

Add MIR2Vec support to the llvm-ir2vec tool, enabling embedding generation for Machine IR alongside the existing LLVM IR functionality.

(This is an initial integration; Other entity/triplet gen for vocab generation would follow as separate patches)

Copy link
Contributor Author

svkeerthy commented Oct 17, 2025

@svkeerthy svkeerthy changed the title [llvm-ir2vec] MIR2Vec support [MIR2Vec] Add MIR2Vec support to llvm-ir2vec tool Oct 17, 2025
@svkeerthy svkeerthy marked this pull request as ready for review October 17, 2025 22:45
@llvmbot
Copy link
Member

llvmbot commented Oct 17, 2025

@llvm/pr-subscribers-mlgo

Author: S. VenkataKeerthy (svkeerthy)

Changes

Add MIR2Vec support to the llvm-ir2vec tool, enabling embedding generation for Machine IR alongside the existing LLVM IR functionality.


Patch is 35.27 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/164025.diff

7 Files Affected:

  • (modified) llvm/docs/CommandGuide/llvm-ir2vec.rst (+76-19)
  • (modified) llvm/include/llvm/CodeGen/MIR2Vec.h (+50-7)
  • (modified) llvm/lib/CodeGen/MIR2Vec.cpp (+36-55)
  • (added) llvm/test/tools/llvm-ir2vec/embeddings-symbolic.mir (+92)
  • (added) llvm/test/tools/llvm-ir2vec/error-handling.mir (+41)
  • (modified) llvm/tools/llvm-ir2vec/CMakeLists.txt (+14)
  • (modified) llvm/tools/llvm-ir2vec/llvm-ir2vec.cpp (+253-35)
diff --git a/llvm/docs/CommandGuide/llvm-ir2vec.rst b/llvm/docs/CommandGuide/llvm-ir2vec.rst
index fc590a6180316..55fe75d2084b1 100644
--- a/llvm/docs/CommandGuide/llvm-ir2vec.rst
+++ b/llvm/docs/CommandGuide/llvm-ir2vec.rst
@@ -1,5 +1,5 @@
-llvm-ir2vec - IR2Vec Embedding Generation Tool
-==============================================
+llvm-ir2vec - IR2Vec and MIR2Vec Embedding Generation Tool
+===========================================================
 
 .. program:: llvm-ir2vec
 
@@ -11,9 +11,9 @@ SYNOPSIS
 DESCRIPTION
 -----------
 
-:program:`llvm-ir2vec` is a standalone command-line tool for IR2Vec. It
-generates IR2Vec embeddings for LLVM IR and supports triplet generation 
-for vocabulary training. 
+:program:`llvm-ir2vec` is a standalone command-line tool for IR2Vec and MIR2Vec.
+It generates embeddings for both LLVM IR and Machine IR (MIR) and supports 
+triplet generation for vocabulary training. 
 
 The tool provides three main subcommands:
 
@@ -23,23 +23,33 @@ The tool provides three main subcommands:
 2. **entities**: Generates entity mapping files (entity2id.txt) for vocabulary 
    training.
 
-3. **embeddings**: Generates IR2Vec embeddings using a trained vocabulary
+3. **embeddings**: Generates IR2Vec or MIR2Vec embeddings using a trained vocabulary
    at different granularity levels (instruction, basic block, or function).
 
+The tool supports two operation modes:
+
+* **LLVM IR mode** (``--mode=llvm``): Process LLVM IR bitcode files and generate
+  IR2Vec embeddings
+* **Machine IR mode** (``--mode=mir``): Process Machine IR (.mir) files and generate
+  MIR2Vec embeddings
+
 The tool is designed to facilitate machine learning applications that work with
-LLVM IR by converting the IR into numerical representations that can be used by
-ML models. The `triplets` subcommand generates numeric IDs directly instead of string 
-triplets, streamlining the training data preparation workflow.
+LLVM IR or Machine IR by converting them into numerical representations that can 
+be used by ML models. The `triplets` subcommand generates numeric IDs directly 
+instead of string triplets, streamlining the training data preparation workflow.
 
 .. note::
 
-   For information about using IR2Vec programmatically within LLVM passes and 
-   the C++ API, see the `IR2Vec Embeddings <https://llvm.org/docs/MLGO.html#ir2vec-embeddings>`_ 
+   For information about using IR2Vec and MIR2Vec programmatically within LLVM 
+   passes and the C++ API, see the `IR2Vec Embeddings <https://llvm.org/docs/MLGO.html#ir2vec-embeddings>`_ 
    section in the MLGO documentation.
 
 OPERATION MODES
 ---------------
 
+The tool operates in two modes: **LLVM IR mode** and **Machine IR mode**. The mode
+is selected using the ``--mode`` option (default: ``llvm``).
+
 Triplet Generation and Entity Mapping Modes are used for preparing
 vocabulary and training data for knowledge graph embeddings. The Embedding Mode
 is used for generating embeddings from LLVM IR using a pre-trained vocabulary.
@@ -89,18 +99,31 @@ Embedding Generation
 ~~~~~~~~~~~~~~~~~~~~
 
 With the `embeddings` subcommand, :program:`llvm-ir2vec` uses a pre-trained vocabulary to
-generate numerical embeddings for LLVM IR at different levels of granularity.
+generate numerical embeddings for LLVM IR or Machine IR at different levels of granularity.
+
+Example Usage for LLVM IR:
+
+.. code-block:: bash
+
+   llvm-ir2vec embeddings --mode=llvm --ir2vec-vocab-path=vocab.json --ir2vec-kind=symbolic --level=func input.bc -o embeddings.txt
 
-Example Usage:
+Example Usage for Machine IR:
 
 .. code-block:: bash
 
-   llvm-ir2vec embeddings --ir2vec-vocab-path=vocab.json --ir2vec-kind=symbolic --level=func input.bc -o embeddings.txt
+   llvm-ir2vec embeddings --mode=mir --mir2vec-vocab-path=vocab.json --level=func input.mir -o embeddings.txt
 
 OPTIONS
 -------
 
-Global options:
+Common options (applicable to both LLVM IR and Machine IR modes):
+
+.. option:: --mode=<mode>
+
+   Specify the operation mode. Valid values are:
+
+   * ``llvm`` - Process LLVM IR bitcode files (default)
+   * ``mir`` - Process Machine IR (.mir) files
 
 .. option:: -o <filename>
 
@@ -116,8 +139,8 @@ Subcommand-specific options:
 
 .. option:: <input-file>
 
-   The input LLVM IR or bitcode file to process. This positional argument is
-   required for the `embeddings` subcommand.
+   The input LLVM IR/bitcode file (.ll/.bc) or Machine IR file (.mir) to process. 
+   This positional argument is required for the `embeddings` subcommand.
 
 .. option:: --level=<level>
 
@@ -131,6 +154,8 @@ Subcommand-specific options:
 
    Process only the specified function instead of all functions in the module.
 
+**IR2Vec-specific options** (for ``--mode=llvm``):
+
 .. option:: --ir2vec-kind=<kind>
 
    Specify the kind of IR2Vec embeddings to generate. Valid values are:
@@ -143,8 +168,8 @@ Subcommand-specific options:
 
 .. option:: --ir2vec-vocab-path=<path>
 
-   Specify the path to the vocabulary file (required for embedding generation).
-   The vocabulary file should be in JSON format and contain the trained
+   Specify the path to the IR2Vec vocabulary file (required for LLVM IR embedding 
+   generation). The vocabulary file should be in JSON format and contain the trained
    vocabulary for embedding generation. See `llvm/lib/Analysis/models`
    for pre-trained vocabulary files.
 
@@ -163,6 +188,35 @@ Subcommand-specific options:
    Specify the weight for argument embeddings (default: 0.2). This controls
    the relative importance of operand information in the final embedding.
 
+**MIR2Vec-specific options** (for ``--mode=mir``):
+
+.. option:: --mir2vec-vocab-path=<path>
+
+   Specify the path to the MIR2Vec vocabulary file (required for Machine IR 
+   embedding generation). The vocabulary file should be in JSON format and 
+   contain the trained vocabulary for embedding generation.
+
+.. option:: --mir2vec-kind=<kind>
+
+   Specify the kind of MIR2Vec embeddings to generate. Valid values are:
+
+   * ``symbolic`` - Generate symbolic embeddings (default)
+
+.. option:: --mir2vec-opc-weight=<weight>
+
+   Specify the weight for machine opcode embeddings (default: 1.0). This controls
+   the relative importance of machine instruction opcodes in the final embedding.
+
+.. option:: --mir2vec-common-operand-weight=<weight>
+
+   Specify the weight for common operand embeddings (default: 1.0). This controls
+   the relative importance of common operand types in the final embedding.
+
+.. option:: --mir2vec-reg-operand-weight=<weight>
+
+   Specify the weight for register operand embeddings (default: 1.0). This controls
+   the relative importance of register operands in the final embedding.
+
 
 **triplets** subcommand:
 
@@ -240,3 +294,6 @@ SEE ALSO
 
 For more information about the IR2Vec algorithm and approach, see:
 `IR2Vec: LLVM IR Based Scalable Program Embeddings <https://doi.org/10.1145/3418463>`_.
+
+For more information about the MIR2Vec algorithm and approach, see:
+`RL4ReAl: Reinforcement Learning for Register Allocation <https://doi.org/10.1145/3578360.3580273>`_.
diff --git a/llvm/include/llvm/CodeGen/MIR2Vec.h b/llvm/include/llvm/CodeGen/MIR2Vec.h
index 953e590a6d64f..f47d9abb042d8 100644
--- a/llvm/include/llvm/CodeGen/MIR2Vec.h
+++ b/llvm/include/llvm/CodeGen/MIR2Vec.h
@@ -7,9 +7,20 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// This file defines the MIR2Vec vocabulary
-/// analysis(MIR2VecVocabLegacyAnalysis), the core mir2vec::MIREmbedder
-/// interface for generating Machine IR embeddings, and related utilities.
+/// This file defines the MIR2Vec framework for generating Machine IR
+/// embeddings.
+///
+/// Architecture Overview:
+/// ----------------------
+/// 1. MIR2VecVocabProvider - Core vocabulary loading logic (no PM dependency)
+///    - Can be used standalone or wrapped by the pass manager
+///    - Requires MachineModuleInfo with parsed machine functions
+///
+/// 2. MIR2VecVocabLegacyAnalysis - Pass manager wrapper (ImmutablePass)
+///    - Integrated and used by llc -print-mir2vec
+///
+/// 3. MIREmbedder - Generates embeddings from vocabulary
+///    - SymbolicMIREmbedder: MIR2Vec embedding implementation
 ///
 /// MIR2Vec extends IR2Vec to support Machine IR embeddings. It represents the
 /// LLVM Machine IR as embeddings which can be used as input to machine learning
@@ -306,26 +317,58 @@ class SymbolicMIREmbedder : public MIREmbedder {
 
 } // namespace mir2vec
 
+/// MIR2Vec vocabulary provider used by pass managers and standalone tools.
+/// This class encapsulates the core vocabulary loading logic and can be used
+/// independently of the pass manager infrastructure. For pass-based usage,
+/// see MIR2VecVocabLegacyAnalysis.
+///
+/// Note: This provider pattern makes new PM migration straightforward when
+/// needed. A new PM analysis wrapper can be added that delegates to this
+/// provider, similar to how MIR2VecVocabLegacyAnalysis currently wraps it.
+class MIR2VecVocabProvider {
+  using VocabMap = std::map<std::string, mir2vec::Embedding>;
+
+public:
+  MIR2VecVocabProvider(const MachineModuleInfo &MMI) : MMI(MMI) {}
+
+  Expected<mir2vec::MIRVocabulary> getVocabulary(const Module &M);
+
+private:
+  Error readVocabulary(VocabMap &OpcVocab, VocabMap &CommonOperandVocab,
+                       VocabMap &PhyRegVocabMap, VocabMap &VirtRegVocabMap);
+  const MachineModuleInfo &MMI;
+};
+
 /// Pass to analyze and populate MIR2Vec vocabulary from a module
 class MIR2VecVocabLegacyAnalysis : public ImmutablePass {
   using VocabVector = std::vector<mir2vec::Embedding>;
   using VocabMap = std::map<std::string, mir2vec::Embedding>;
-  std::optional<mir2vec::MIRVocabulary> Vocab;
 
   StringRef getPassName() const override;
-  Error readVocabulary(VocabMap &OpcVocab, VocabMap &CommonOperandVocab,
-                       VocabMap &PhyRegVocabMap, VocabMap &VirtRegVocabMap);
 
 protected:
   void getAnalysisUsage(AnalysisUsage &AU) const override {
     AU.addRequired<MachineModuleInfoWrapperPass>();
     AU.setPreservesAll();
   }
+  std::unique_ptr<MIR2VecVocabProvider> Provider;
 
 public:
   static char ID;
   MIR2VecVocabLegacyAnalysis() : ImmutablePass(ID) {}
-  Expected<mir2vec::MIRVocabulary> getMIR2VecVocabulary(const Module &M);
+
+  Expected<mir2vec::MIRVocabulary> getMIR2VecVocabulary(const Module &M) {
+    MachineModuleInfo &MMI =
+        getAnalysis<MachineModuleInfoWrapperPass>().getMMI();
+    if (!Provider)
+      Provider = std::make_unique<MIR2VecVocabProvider>(MMI);
+    return Provider->getVocabulary(M);
+  }
+
+  MIR2VecVocabProvider &getProvider() {
+    assert(Provider && "Provider not initialized");
+    return *Provider;
+  }
 };
 
 /// This pass prints the embeddings in the MIR2Vec vocabulary
diff --git a/llvm/lib/CodeGen/MIR2Vec.cpp b/llvm/lib/CodeGen/MIR2Vec.cpp
index 716221101af9f..69c1e28e55e3b 100644
--- a/llvm/lib/CodeGen/MIR2Vec.cpp
+++ b/llvm/lib/CodeGen/MIR2Vec.cpp
@@ -412,24 +412,39 @@ Expected<MIRVocabulary> MIRVocabulary::createDummyVocabForTest(
 }
 
 //===----------------------------------------------------------------------===//
-// MIR2VecVocabLegacyAnalysis Implementation
+// MIR2VecVocabProvider and MIR2VecVocabLegacyAnalysis
 //===----------------------------------------------------------------------===//
 
-char MIR2VecVocabLegacyAnalysis::ID = 0;
-INITIALIZE_PASS_BEGIN(MIR2VecVocabLegacyAnalysis, "mir2vec-vocab-analysis",
-                      "MIR2Vec Vocabulary Analysis", false, true)
-INITIALIZE_PASS_DEPENDENCY(MachineModuleInfoWrapperPass)
-INITIALIZE_PASS_END(MIR2VecVocabLegacyAnalysis, "mir2vec-vocab-analysis",
-                    "MIR2Vec Vocabulary Analysis", false, true)
+Expected<mir2vec::MIRVocabulary>
+MIR2VecVocabProvider::getVocabulary(const Module &M) {
+  VocabMap OpcVocab, CommonOperandVocab, PhyRegVocabMap, VirtRegVocabMap;
 
-StringRef MIR2VecVocabLegacyAnalysis::getPassName() const {
-  return "MIR2Vec Vocabulary Analysis";
+  if (Error Err = readVocabulary(OpcVocab, CommonOperandVocab, PhyRegVocabMap,
+                                 VirtRegVocabMap))
+    return std::move(Err);
+
+  for (const auto &F : M) {
+    if (F.isDeclaration())
+      continue;
+
+    if (auto *MF = MMI.getMachineFunction(F)) {
+      auto &Subtarget = MF->getSubtarget();
+      if (const auto *TII = Subtarget.getInstrInfo())
+        if (const auto *TRI = Subtarget.getRegisterInfo())
+          return mir2vec::MIRVocabulary::create(
+              std::move(OpcVocab), std::move(CommonOperandVocab),
+              std::move(PhyRegVocabMap), std::move(VirtRegVocabMap), *TII, *TRI,
+              MF->getRegInfo());
+    }
+  }
+  return createStringError(errc::invalid_argument,
+                           "No machine functions found in module");
 }
 
-Error MIR2VecVocabLegacyAnalysis::readVocabulary(VocabMap &OpcodeVocab,
-                                                 VocabMap &CommonOperandVocab,
-                                                 VocabMap &PhyRegVocabMap,
-                                                 VocabMap &VirtRegVocabMap) {
+Error MIR2VecVocabProvider::readVocabulary(VocabMap &OpcodeVocab,
+                                           VocabMap &CommonOperandVocab,
+                                           VocabMap &PhyRegVocabMap,
+                                           VocabMap &VirtRegVocabMap) {
   if (VocabFile.empty())
     return createStringError(
         errc::invalid_argument,
@@ -478,49 +493,15 @@ Error MIR2VecVocabLegacyAnalysis::readVocabulary(VocabMap &OpcodeVocab,
   return Error::success();
 }
 
-Expected<mir2vec::MIRVocabulary>
-MIR2VecVocabLegacyAnalysis::getMIR2VecVocabulary(const Module &M) {
-  if (Vocab.has_value())
-    return std::move(Vocab.value());
-
-  VocabMap OpcMap, CommonOperandMap, PhyRegMap, VirtRegMap;
-  if (Error Err =
-          readVocabulary(OpcMap, CommonOperandMap, PhyRegMap, VirtRegMap))
-    return std::move(Err);
-
-  // Get machine module info to access machine functions and target info
-  MachineModuleInfo &MMI = getAnalysis<MachineModuleInfoWrapperPass>().getMMI();
-
-  // Find first available machine function to get target instruction info
-  for (const auto &F : M) {
-    if (F.isDeclaration())
-      continue;
-
-    if (auto *MF = MMI.getMachineFunction(F)) {
-      auto &Subtarget = MF->getSubtarget();
-      const TargetInstrInfo *TII = Subtarget.getInstrInfo();
-      if (!TII) {
-        return createStringError(errc::invalid_argument,
-                                 "No TargetInstrInfo available; cannot create "
-                                 "MIR2Vec vocabulary");
-      }
-
-      const TargetRegisterInfo *TRI = Subtarget.getRegisterInfo();
-      if (!TRI) {
-        return createStringError(errc::invalid_argument,
-                                 "No TargetRegisterInfo available; cannot "
-                                 "create MIR2Vec vocabulary");
-      }
-
-      return mir2vec::MIRVocabulary::create(
-          std::move(OpcMap), std::move(CommonOperandMap), std::move(PhyRegMap),
-          std::move(VirtRegMap), *TII, *TRI, MF->getRegInfo());
-    }
-  }
+char MIR2VecVocabLegacyAnalysis::ID = 0;
+INITIALIZE_PASS_BEGIN(MIR2VecVocabLegacyAnalysis, "mir2vec-vocab-analysis",
+                      "MIR2Vec Vocabulary Analysis", false, true)
+INITIALIZE_PASS_DEPENDENCY(MachineModuleInfoWrapperPass)
+INITIALIZE_PASS_END(MIR2VecVocabLegacyAnalysis, "mir2vec-vocab-analysis",
+                    "MIR2Vec Vocabulary Analysis", false, true)
 
-  // No machine functions available - return error
-  return createStringError(errc::invalid_argument,
-                           "No machine functions found in module");
+StringRef MIR2VecVocabLegacyAnalysis::getPassName() const {
+  return "MIR2Vec Vocabulary Analysis";
 }
 
 //===----------------------------------------------------------------------===//
diff --git a/llvm/test/tools/llvm-ir2vec/embeddings-symbolic.mir b/llvm/test/tools/llvm-ir2vec/embeddings-symbolic.mir
new file mode 100644
index 0000000000000..e5f78bfd2090e
--- /dev/null
+++ b/llvm/test/tools/llvm-ir2vec/embeddings-symbolic.mir
@@ -0,0 +1,92 @@
+# REQUIRES: x86_64-linux
+# RUN: llvm-ir2vec embeddings --mode=mir --mir2vec-vocab-path=%S/../../CodeGen/MIR2Vec/Inputs/mir2vec_dummy_3D_vocab.json %s | FileCheck %s -check-prefix=CHECK-DEFAULT
+# RUN: llvm-ir2vec embeddings --mode=mir --level=func --mir2vec-vocab-path=%S/../../CodeGen/MIR2Vec/Inputs/mir2vec_dummy_3D_vocab.json %s | FileCheck %s -check-prefix=CHECK-FUNC-LEVEL
+# RUN: llvm-ir2vec embeddings --mode=mir --level=func --function=add_function --mir2vec-vocab-path=%S/../../CodeGen/MIR2Vec/Inputs/mir2vec_dummy_3D_vocab.json %s | FileCheck %s -check-prefix=CHECK-FUNC-LEVEL-ADD
+# RUN: not llvm-ir2vec embeddings --mode=mir --level=func --function=missing_function --mir2vec-vocab-path=%S/../../CodeGen/MIR2Vec/Inputs/mir2vec_dummy_3D_vocab.json %s 2>&1 | FileCheck %s -check-prefix=CHECK-FUNC-MISSING
+# RUN: llvm-ir2vec embeddings --mode=mir --level=bb --mir2vec-vocab-path=%S/../../CodeGen/MIR2Vec/Inputs/mir2vec_dummy_3D_vocab.json %s | FileCheck %s -check-prefix=CHECK-BB-LEVEL
+# RUN: llvm-ir2vec embeddings --mode=mir --level=inst --function=add_function --mir2vec-vocab-path=%S/../../CodeGen/MIR2Vec/Inputs/mir2vec_dummy_3D_vocab.json %s | FileCheck %s -check-prefix=CHECK-INST-LEVEL
+
+--- |
+  target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
+  target triple = "x86_64-unknown-linux-gnu"
+  
+  define dso_local noundef i32 @add_function(i32 noundef %a, i32 noundef %b) {
+  entry:
+    %sum = add nsw i32 %a, %b
+    %result = mul nsw i32 %sum, 2
+    ret i32 %result
+  }
+  
+  define dso_local void @simple_function() {
+  entry:
+    ret void
+  }
+...
+---
+name:            add_function
+alignment:       16
+tracksRegLiveness: true
+registers:
+  - { id: 0, class: gr32 }
+  - { id: 1, class: gr32 }
+  - { id: 2, class: gr32 }
+  - { id: 3, class: gr32 }
+liveins:
+  - { reg: '$edi', virtual-reg: '%0' }
+  - { reg: '$esi', virtual-reg: '%1' }
+body:             |
+  bb.0.entry:
+    liveins: $edi, $esi
+  
+    %1:gr32 = COPY $esi
+    %0:gr32 = COPY $edi
+    %2:gr32 = nsw ADD32rr %0, %1, implicit-def dead $eflags
+    %3:gr32 = ADD32rr %2, %2, implicit-def dead $eflags
+    $eax = COPY %3
+    RET 0, $eax
+
+---
+name:            simple_function
+alignment:       16
+tracksRegLiveness: true
+body:             |
+  bb.0.entry:
+    RET 0
+
+# CHECK-DEFAULT: MIR2Vec embeddings for machine function add_function:
+# CHECK-DEFAULT-NEXT: Function vector:  [ 26.50  27.10  27.70 ]
+# CHECK-DEFAULT: MIR2Vec embeddings for machine function simple_function:
+# CHECK-DEFAULT-NEXT: Function vector:  [ 1.10  1.20  1.30 ]
+
+# CHECK-FUNC-LEVEL: MIR2Vec embeddings for machine function add_function:
+# CHECK-FUNC-LEVEL-NEXT: Function vector:  [ 26.50  27.10  27.70 ]
+# CHECK-FUNC-LEVEL: MIR2Vec embeddings for machine function simple_function:
+# CHECK-FUNC-LEVEL-NEXT: Function vector:  [ 1.10  1.20  1.30 ]
+
+# CHECK-FUNC-LEVEL-ADD: MIR2Vec embeddings for machine function add_function:
+# CHECK-FUNC-LEVEL-ADD-NEXT: Function vector:  [ 26.50  27.10  27.70 ]
+# CHECK-FUNC-LEVEL-ADD-NOT: simple_function
+
+# CHECK-FUNC-MISSING: Error: Function 'missing_function' not found
+
+# CHECK-BB-LEVEL: MIR2Vec embeddings for machine function add_function:
+# CHECK-BB-LEVEL-NEXT: Basic block vectors:
+# CHECK-BB-LEVEL-NEXT: MBB entry:  [ 26.50  27.10  27.70 ]
+# CHECK-BB-LEVEL: MIR2Vec embeddings for machine function simple_function:
+# CHECK-BB-LEVEL-NEXT: Basic block vectors:
+# CHECK-BB-LEVEL-NEXT: MBB entry:  [ 1.10  1.20  1.30 ]
+
+# CHECK-INST-LEVEL: MIR2Vec embeddings for machine function add_function:
+# CHECK-INST-LEVEL-NEXT: Instruction vectors:
+# CHECK-INST-LEVEL: %1:gr32 = COPY $esi
+# CHECK-INST-LEVEL-NEXT:  ->  [ 6.00  6.10  6.20 ]
+# CHECK-INST-LEVEL-NEXT: %0:gr32 = COPY $edi
+# CHECK-INST-LEVEL-NEXT:  ->  [ 6.00  6.10  6.20 ]
+# CHECK-INST-LEVEL: %2:gr32 = nsw ADD32rr
+# CHECK-INST-LEVEL:  ->  [ 3.70  3.80  3.90 ]
+# CHECK-INST-LEVEL: %3:gr32 = ADD32rr
+# CHECK-INST-LEVEL:  ->  [ 3.70  3.80  3.90 ]
+# CHECK-INST-LEVEL: $eax = COPY %3:gr32
+# CHECK-INST-LEVEL-NEXT:  ->  [ 6.00  6.10  6.20 ]
+# CHECK-INST-LEVEL: RET 0, $eax
+# CHECK-INST-LEVEL-NEXT:  ->  [ 1.10  1.20  1.30 ]
diff --git a/llvm/test/tools/llvm-ir2vec/error-handling.mir b/llvm/test/...
[truncated]

@llvmbot
Copy link
Member

llvmbot commented Oct 17, 2025

@llvm/pr-subscribers-llvm-binary-utilities

Author: S. VenkataKeerthy (svkeerthy)

Changes

Add MIR2Vec support to the llvm-ir2vec tool, enabling embedding generation for Machine IR alongside the existing LLVM IR functionality.


Patch is 35.27 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/164025.diff

7 Files Affected:

  • (modified) llvm/docs/CommandGuide/llvm-ir2vec.rst (+76-19)
  • (modified) llvm/include/llvm/CodeGen/MIR2Vec.h (+50-7)
  • (modified) llvm/lib/CodeGen/MIR2Vec.cpp (+36-55)
  • (added) llvm/test/tools/llvm-ir2vec/embeddings-symbolic.mir (+92)
  • (added) llvm/test/tools/llvm-ir2vec/error-handling.mir (+41)
  • (modified) llvm/tools/llvm-ir2vec/CMakeLists.txt (+14)
  • (modified) llvm/tools/llvm-ir2vec/llvm-ir2vec.cpp (+253-35)
diff --git a/llvm/docs/CommandGuide/llvm-ir2vec.rst b/llvm/docs/CommandGuide/llvm-ir2vec.rst
index fc590a6180316..55fe75d2084b1 100644
--- a/llvm/docs/CommandGuide/llvm-ir2vec.rst
+++ b/llvm/docs/CommandGuide/llvm-ir2vec.rst
@@ -1,5 +1,5 @@
-llvm-ir2vec - IR2Vec Embedding Generation Tool
-==============================================
+llvm-ir2vec - IR2Vec and MIR2Vec Embedding Generation Tool
+===========================================================
 
 .. program:: llvm-ir2vec
 
@@ -11,9 +11,9 @@ SYNOPSIS
 DESCRIPTION
 -----------
 
-:program:`llvm-ir2vec` is a standalone command-line tool for IR2Vec. It
-generates IR2Vec embeddings for LLVM IR and supports triplet generation 
-for vocabulary training. 
+:program:`llvm-ir2vec` is a standalone command-line tool for IR2Vec and MIR2Vec.
+It generates embeddings for both LLVM IR and Machine IR (MIR) and supports 
+triplet generation for vocabulary training. 
 
 The tool provides three main subcommands:
 
@@ -23,23 +23,33 @@ The tool provides three main subcommands:
 2. **entities**: Generates entity mapping files (entity2id.txt) for vocabulary 
    training.
 
-3. **embeddings**: Generates IR2Vec embeddings using a trained vocabulary
+3. **embeddings**: Generates IR2Vec or MIR2Vec embeddings using a trained vocabulary
    at different granularity levels (instruction, basic block, or function).
 
+The tool supports two operation modes:
+
+* **LLVM IR mode** (``--mode=llvm``): Process LLVM IR bitcode files and generate
+  IR2Vec embeddings
+* **Machine IR mode** (``--mode=mir``): Process Machine IR (.mir) files and generate
+  MIR2Vec embeddings
+
 The tool is designed to facilitate machine learning applications that work with
-LLVM IR by converting the IR into numerical representations that can be used by
-ML models. The `triplets` subcommand generates numeric IDs directly instead of string 
-triplets, streamlining the training data preparation workflow.
+LLVM IR or Machine IR by converting them into numerical representations that can 
+be used by ML models. The `triplets` subcommand generates numeric IDs directly 
+instead of string triplets, streamlining the training data preparation workflow.
 
 .. note::
 
-   For information about using IR2Vec programmatically within LLVM passes and 
-   the C++ API, see the `IR2Vec Embeddings <https://llvm.org/docs/MLGO.html#ir2vec-embeddings>`_ 
+   For information about using IR2Vec and MIR2Vec programmatically within LLVM 
+   passes and the C++ API, see the `IR2Vec Embeddings <https://llvm.org/docs/MLGO.html#ir2vec-embeddings>`_ 
    section in the MLGO documentation.
 
 OPERATION MODES
 ---------------
 
+The tool operates in two modes: **LLVM IR mode** and **Machine IR mode**. The mode
+is selected using the ``--mode`` option (default: ``llvm``).
+
 Triplet Generation and Entity Mapping Modes are used for preparing
 vocabulary and training data for knowledge graph embeddings. The Embedding Mode
 is used for generating embeddings from LLVM IR using a pre-trained vocabulary.
@@ -89,18 +99,31 @@ Embedding Generation
 ~~~~~~~~~~~~~~~~~~~~
 
 With the `embeddings` subcommand, :program:`llvm-ir2vec` uses a pre-trained vocabulary to
-generate numerical embeddings for LLVM IR at different levels of granularity.
+generate numerical embeddings for LLVM IR or Machine IR at different levels of granularity.
+
+Example Usage for LLVM IR:
+
+.. code-block:: bash
+
+   llvm-ir2vec embeddings --mode=llvm --ir2vec-vocab-path=vocab.json --ir2vec-kind=symbolic --level=func input.bc -o embeddings.txt
 
-Example Usage:
+Example Usage for Machine IR:
 
 .. code-block:: bash
 
-   llvm-ir2vec embeddings --ir2vec-vocab-path=vocab.json --ir2vec-kind=symbolic --level=func input.bc -o embeddings.txt
+   llvm-ir2vec embeddings --mode=mir --mir2vec-vocab-path=vocab.json --level=func input.mir -o embeddings.txt
 
 OPTIONS
 -------
 
-Global options:
+Common options (applicable to both LLVM IR and Machine IR modes):
+
+.. option:: --mode=<mode>
+
+   Specify the operation mode. Valid values are:
+
+   * ``llvm`` - Process LLVM IR bitcode files (default)
+   * ``mir`` - Process Machine IR (.mir) files
 
 .. option:: -o <filename>
 
@@ -116,8 +139,8 @@ Subcommand-specific options:
 
 .. option:: <input-file>
 
-   The input LLVM IR or bitcode file to process. This positional argument is
-   required for the `embeddings` subcommand.
+   The input LLVM IR/bitcode file (.ll/.bc) or Machine IR file (.mir) to process. 
+   This positional argument is required for the `embeddings` subcommand.
 
 .. option:: --level=<level>
 
@@ -131,6 +154,8 @@ Subcommand-specific options:
 
    Process only the specified function instead of all functions in the module.
 
+**IR2Vec-specific options** (for ``--mode=llvm``):
+
 .. option:: --ir2vec-kind=<kind>
 
    Specify the kind of IR2Vec embeddings to generate. Valid values are:
@@ -143,8 +168,8 @@ Subcommand-specific options:
 
 .. option:: --ir2vec-vocab-path=<path>
 
-   Specify the path to the vocabulary file (required for embedding generation).
-   The vocabulary file should be in JSON format and contain the trained
+   Specify the path to the IR2Vec vocabulary file (required for LLVM IR embedding 
+   generation). The vocabulary file should be in JSON format and contain the trained
    vocabulary for embedding generation. See `llvm/lib/Analysis/models`
    for pre-trained vocabulary files.
 
@@ -163,6 +188,35 @@ Subcommand-specific options:
    Specify the weight for argument embeddings (default: 0.2). This controls
    the relative importance of operand information in the final embedding.
 
+**MIR2Vec-specific options** (for ``--mode=mir``):
+
+.. option:: --mir2vec-vocab-path=<path>
+
+   Specify the path to the MIR2Vec vocabulary file (required for Machine IR 
+   embedding generation). The vocabulary file should be in JSON format and 
+   contain the trained vocabulary for embedding generation.
+
+.. option:: --mir2vec-kind=<kind>
+
+   Specify the kind of MIR2Vec embeddings to generate. Valid values are:
+
+   * ``symbolic`` - Generate symbolic embeddings (default)
+
+.. option:: --mir2vec-opc-weight=<weight>
+
+   Specify the weight for machine opcode embeddings (default: 1.0). This controls
+   the relative importance of machine instruction opcodes in the final embedding.
+
+.. option:: --mir2vec-common-operand-weight=<weight>
+
+   Specify the weight for common operand embeddings (default: 1.0). This controls
+   the relative importance of common operand types in the final embedding.
+
+.. option:: --mir2vec-reg-operand-weight=<weight>
+
+   Specify the weight for register operand embeddings (default: 1.0). This controls
+   the relative importance of register operands in the final embedding.
+
 
 **triplets** subcommand:
 
@@ -240,3 +294,6 @@ SEE ALSO
 
 For more information about the IR2Vec algorithm and approach, see:
 `IR2Vec: LLVM IR Based Scalable Program Embeddings <https://doi.org/10.1145/3418463>`_.
+
+For more information about the MIR2Vec algorithm and approach, see:
+`RL4ReAl: Reinforcement Learning for Register Allocation <https://doi.org/10.1145/3578360.3580273>`_.
diff --git a/llvm/include/llvm/CodeGen/MIR2Vec.h b/llvm/include/llvm/CodeGen/MIR2Vec.h
index 953e590a6d64f..f47d9abb042d8 100644
--- a/llvm/include/llvm/CodeGen/MIR2Vec.h
+++ b/llvm/include/llvm/CodeGen/MIR2Vec.h
@@ -7,9 +7,20 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// This file defines the MIR2Vec vocabulary
-/// analysis(MIR2VecVocabLegacyAnalysis), the core mir2vec::MIREmbedder
-/// interface for generating Machine IR embeddings, and related utilities.
+/// This file defines the MIR2Vec framework for generating Machine IR
+/// embeddings.
+///
+/// Architecture Overview:
+/// ----------------------
+/// 1. MIR2VecVocabProvider - Core vocabulary loading logic (no PM dependency)
+///    - Can be used standalone or wrapped by the pass manager
+///    - Requires MachineModuleInfo with parsed machine functions
+///
+/// 2. MIR2VecVocabLegacyAnalysis - Pass manager wrapper (ImmutablePass)
+///    - Integrated and used by llc -print-mir2vec
+///
+/// 3. MIREmbedder - Generates embeddings from vocabulary
+///    - SymbolicMIREmbedder: MIR2Vec embedding implementation
 ///
 /// MIR2Vec extends IR2Vec to support Machine IR embeddings. It represents the
 /// LLVM Machine IR as embeddings which can be used as input to machine learning
@@ -306,26 +317,58 @@ class SymbolicMIREmbedder : public MIREmbedder {
 
 } // namespace mir2vec
 
+/// MIR2Vec vocabulary provider used by pass managers and standalone tools.
+/// This class encapsulates the core vocabulary loading logic and can be used
+/// independently of the pass manager infrastructure. For pass-based usage,
+/// see MIR2VecVocabLegacyAnalysis.
+///
+/// Note: This provider pattern makes new PM migration straightforward when
+/// needed. A new PM analysis wrapper can be added that delegates to this
+/// provider, similar to how MIR2VecVocabLegacyAnalysis currently wraps it.
+class MIR2VecVocabProvider {
+  using VocabMap = std::map<std::string, mir2vec::Embedding>;
+
+public:
+  MIR2VecVocabProvider(const MachineModuleInfo &MMI) : MMI(MMI) {}
+
+  Expected<mir2vec::MIRVocabulary> getVocabulary(const Module &M);
+
+private:
+  Error readVocabulary(VocabMap &OpcVocab, VocabMap &CommonOperandVocab,
+                       VocabMap &PhyRegVocabMap, VocabMap &VirtRegVocabMap);
+  const MachineModuleInfo &MMI;
+};
+
 /// Pass to analyze and populate MIR2Vec vocabulary from a module
 class MIR2VecVocabLegacyAnalysis : public ImmutablePass {
   using VocabVector = std::vector<mir2vec::Embedding>;
   using VocabMap = std::map<std::string, mir2vec::Embedding>;
-  std::optional<mir2vec::MIRVocabulary> Vocab;
 
   StringRef getPassName() const override;
-  Error readVocabulary(VocabMap &OpcVocab, VocabMap &CommonOperandVocab,
-                       VocabMap &PhyRegVocabMap, VocabMap &VirtRegVocabMap);
 
 protected:
   void getAnalysisUsage(AnalysisUsage &AU) const override {
     AU.addRequired<MachineModuleInfoWrapperPass>();
     AU.setPreservesAll();
   }
+  std::unique_ptr<MIR2VecVocabProvider> Provider;
 
 public:
   static char ID;
   MIR2VecVocabLegacyAnalysis() : ImmutablePass(ID) {}
-  Expected<mir2vec::MIRVocabulary> getMIR2VecVocabulary(const Module &M);
+
+  Expected<mir2vec::MIRVocabulary> getMIR2VecVocabulary(const Module &M) {
+    MachineModuleInfo &MMI =
+        getAnalysis<MachineModuleInfoWrapperPass>().getMMI();
+    if (!Provider)
+      Provider = std::make_unique<MIR2VecVocabProvider>(MMI);
+    return Provider->getVocabulary(M);
+  }
+
+  MIR2VecVocabProvider &getProvider() {
+    assert(Provider && "Provider not initialized");
+    return *Provider;
+  }
 };
 
 /// This pass prints the embeddings in the MIR2Vec vocabulary
diff --git a/llvm/lib/CodeGen/MIR2Vec.cpp b/llvm/lib/CodeGen/MIR2Vec.cpp
index 716221101af9f..69c1e28e55e3b 100644
--- a/llvm/lib/CodeGen/MIR2Vec.cpp
+++ b/llvm/lib/CodeGen/MIR2Vec.cpp
@@ -412,24 +412,39 @@ Expected<MIRVocabulary> MIRVocabulary::createDummyVocabForTest(
 }
 
 //===----------------------------------------------------------------------===//
-// MIR2VecVocabLegacyAnalysis Implementation
+// MIR2VecVocabProvider and MIR2VecVocabLegacyAnalysis
 //===----------------------------------------------------------------------===//
 
-char MIR2VecVocabLegacyAnalysis::ID = 0;
-INITIALIZE_PASS_BEGIN(MIR2VecVocabLegacyAnalysis, "mir2vec-vocab-analysis",
-                      "MIR2Vec Vocabulary Analysis", false, true)
-INITIALIZE_PASS_DEPENDENCY(MachineModuleInfoWrapperPass)
-INITIALIZE_PASS_END(MIR2VecVocabLegacyAnalysis, "mir2vec-vocab-analysis",
-                    "MIR2Vec Vocabulary Analysis", false, true)
+Expected<mir2vec::MIRVocabulary>
+MIR2VecVocabProvider::getVocabulary(const Module &M) {
+  VocabMap OpcVocab, CommonOperandVocab, PhyRegVocabMap, VirtRegVocabMap;
 
-StringRef MIR2VecVocabLegacyAnalysis::getPassName() const {
-  return "MIR2Vec Vocabulary Analysis";
+  if (Error Err = readVocabulary(OpcVocab, CommonOperandVocab, PhyRegVocabMap,
+                                 VirtRegVocabMap))
+    return std::move(Err);
+
+  for (const auto &F : M) {
+    if (F.isDeclaration())
+      continue;
+
+    if (auto *MF = MMI.getMachineFunction(F)) {
+      auto &Subtarget = MF->getSubtarget();
+      if (const auto *TII = Subtarget.getInstrInfo())
+        if (const auto *TRI = Subtarget.getRegisterInfo())
+          return mir2vec::MIRVocabulary::create(
+              std::move(OpcVocab), std::move(CommonOperandVocab),
+              std::move(PhyRegVocabMap), std::move(VirtRegVocabMap), *TII, *TRI,
+              MF->getRegInfo());
+    }
+  }
+  return createStringError(errc::invalid_argument,
+                           "No machine functions found in module");
 }
 
-Error MIR2VecVocabLegacyAnalysis::readVocabulary(VocabMap &OpcodeVocab,
-                                                 VocabMap &CommonOperandVocab,
-                                                 VocabMap &PhyRegVocabMap,
-                                                 VocabMap &VirtRegVocabMap) {
+Error MIR2VecVocabProvider::readVocabulary(VocabMap &OpcodeVocab,
+                                           VocabMap &CommonOperandVocab,
+                                           VocabMap &PhyRegVocabMap,
+                                           VocabMap &VirtRegVocabMap) {
   if (VocabFile.empty())
     return createStringError(
         errc::invalid_argument,
@@ -478,49 +493,15 @@ Error MIR2VecVocabLegacyAnalysis::readVocabulary(VocabMap &OpcodeVocab,
   return Error::success();
 }
 
-Expected<mir2vec::MIRVocabulary>
-MIR2VecVocabLegacyAnalysis::getMIR2VecVocabulary(const Module &M) {
-  if (Vocab.has_value())
-    return std::move(Vocab.value());
-
-  VocabMap OpcMap, CommonOperandMap, PhyRegMap, VirtRegMap;
-  if (Error Err =
-          readVocabulary(OpcMap, CommonOperandMap, PhyRegMap, VirtRegMap))
-    return std::move(Err);
-
-  // Get machine module info to access machine functions and target info
-  MachineModuleInfo &MMI = getAnalysis<MachineModuleInfoWrapperPass>().getMMI();
-
-  // Find first available machine function to get target instruction info
-  for (const auto &F : M) {
-    if (F.isDeclaration())
-      continue;
-
-    if (auto *MF = MMI.getMachineFunction(F)) {
-      auto &Subtarget = MF->getSubtarget();
-      const TargetInstrInfo *TII = Subtarget.getInstrInfo();
-      if (!TII) {
-        return createStringError(errc::invalid_argument,
-                                 "No TargetInstrInfo available; cannot create "
-                                 "MIR2Vec vocabulary");
-      }
-
-      const TargetRegisterInfo *TRI = Subtarget.getRegisterInfo();
-      if (!TRI) {
-        return createStringError(errc::invalid_argument,
-                                 "No TargetRegisterInfo available; cannot "
-                                 "create MIR2Vec vocabulary");
-      }
-
-      return mir2vec::MIRVocabulary::create(
-          std::move(OpcMap), std::move(CommonOperandMap), std::move(PhyRegMap),
-          std::move(VirtRegMap), *TII, *TRI, MF->getRegInfo());
-    }
-  }
+char MIR2VecVocabLegacyAnalysis::ID = 0;
+INITIALIZE_PASS_BEGIN(MIR2VecVocabLegacyAnalysis, "mir2vec-vocab-analysis",
+                      "MIR2Vec Vocabulary Analysis", false, true)
+INITIALIZE_PASS_DEPENDENCY(MachineModuleInfoWrapperPass)
+INITIALIZE_PASS_END(MIR2VecVocabLegacyAnalysis, "mir2vec-vocab-analysis",
+                    "MIR2Vec Vocabulary Analysis", false, true)
 
-  // No machine functions available - return error
-  return createStringError(errc::invalid_argument,
-                           "No machine functions found in module");
+StringRef MIR2VecVocabLegacyAnalysis::getPassName() const {
+  return "MIR2Vec Vocabulary Analysis";
 }
 
 //===----------------------------------------------------------------------===//
diff --git a/llvm/test/tools/llvm-ir2vec/embeddings-symbolic.mir b/llvm/test/tools/llvm-ir2vec/embeddings-symbolic.mir
new file mode 100644
index 0000000000000..e5f78bfd2090e
--- /dev/null
+++ b/llvm/test/tools/llvm-ir2vec/embeddings-symbolic.mir
@@ -0,0 +1,92 @@
+# REQUIRES: x86_64-linux
+# RUN: llvm-ir2vec embeddings --mode=mir --mir2vec-vocab-path=%S/../../CodeGen/MIR2Vec/Inputs/mir2vec_dummy_3D_vocab.json %s | FileCheck %s -check-prefix=CHECK-DEFAULT
+# RUN: llvm-ir2vec embeddings --mode=mir --level=func --mir2vec-vocab-path=%S/../../CodeGen/MIR2Vec/Inputs/mir2vec_dummy_3D_vocab.json %s | FileCheck %s -check-prefix=CHECK-FUNC-LEVEL
+# RUN: llvm-ir2vec embeddings --mode=mir --level=func --function=add_function --mir2vec-vocab-path=%S/../../CodeGen/MIR2Vec/Inputs/mir2vec_dummy_3D_vocab.json %s | FileCheck %s -check-prefix=CHECK-FUNC-LEVEL-ADD
+# RUN: not llvm-ir2vec embeddings --mode=mir --level=func --function=missing_function --mir2vec-vocab-path=%S/../../CodeGen/MIR2Vec/Inputs/mir2vec_dummy_3D_vocab.json %s 2>&1 | FileCheck %s -check-prefix=CHECK-FUNC-MISSING
+# RUN: llvm-ir2vec embeddings --mode=mir --level=bb --mir2vec-vocab-path=%S/../../CodeGen/MIR2Vec/Inputs/mir2vec_dummy_3D_vocab.json %s | FileCheck %s -check-prefix=CHECK-BB-LEVEL
+# RUN: llvm-ir2vec embeddings --mode=mir --level=inst --function=add_function --mir2vec-vocab-path=%S/../../CodeGen/MIR2Vec/Inputs/mir2vec_dummy_3D_vocab.json %s | FileCheck %s -check-prefix=CHECK-INST-LEVEL
+
+--- |
+  target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
+  target triple = "x86_64-unknown-linux-gnu"
+  
+  define dso_local noundef i32 @add_function(i32 noundef %a, i32 noundef %b) {
+  entry:
+    %sum = add nsw i32 %a, %b
+    %result = mul nsw i32 %sum, 2
+    ret i32 %result
+  }
+  
+  define dso_local void @simple_function() {
+  entry:
+    ret void
+  }
+...
+---
+name:            add_function
+alignment:       16
+tracksRegLiveness: true
+registers:
+  - { id: 0, class: gr32 }
+  - { id: 1, class: gr32 }
+  - { id: 2, class: gr32 }
+  - { id: 3, class: gr32 }
+liveins:
+  - { reg: '$edi', virtual-reg: '%0' }
+  - { reg: '$esi', virtual-reg: '%1' }
+body:             |
+  bb.0.entry:
+    liveins: $edi, $esi
+  
+    %1:gr32 = COPY $esi
+    %0:gr32 = COPY $edi
+    %2:gr32 = nsw ADD32rr %0, %1, implicit-def dead $eflags
+    %3:gr32 = ADD32rr %2, %2, implicit-def dead $eflags
+    $eax = COPY %3
+    RET 0, $eax
+
+---
+name:            simple_function
+alignment:       16
+tracksRegLiveness: true
+body:             |
+  bb.0.entry:
+    RET 0
+
+# CHECK-DEFAULT: MIR2Vec embeddings for machine function add_function:
+# CHECK-DEFAULT-NEXT: Function vector:  [ 26.50  27.10  27.70 ]
+# CHECK-DEFAULT: MIR2Vec embeddings for machine function simple_function:
+# CHECK-DEFAULT-NEXT: Function vector:  [ 1.10  1.20  1.30 ]
+
+# CHECK-FUNC-LEVEL: MIR2Vec embeddings for machine function add_function:
+# CHECK-FUNC-LEVEL-NEXT: Function vector:  [ 26.50  27.10  27.70 ]
+# CHECK-FUNC-LEVEL: MIR2Vec embeddings for machine function simple_function:
+# CHECK-FUNC-LEVEL-NEXT: Function vector:  [ 1.10  1.20  1.30 ]
+
+# CHECK-FUNC-LEVEL-ADD: MIR2Vec embeddings for machine function add_function:
+# CHECK-FUNC-LEVEL-ADD-NEXT: Function vector:  [ 26.50  27.10  27.70 ]
+# CHECK-FUNC-LEVEL-ADD-NOT: simple_function
+
+# CHECK-FUNC-MISSING: Error: Function 'missing_function' not found
+
+# CHECK-BB-LEVEL: MIR2Vec embeddings for machine function add_function:
+# CHECK-BB-LEVEL-NEXT: Basic block vectors:
+# CHECK-BB-LEVEL-NEXT: MBB entry:  [ 26.50  27.10  27.70 ]
+# CHECK-BB-LEVEL: MIR2Vec embeddings for machine function simple_function:
+# CHECK-BB-LEVEL-NEXT: Basic block vectors:
+# CHECK-BB-LEVEL-NEXT: MBB entry:  [ 1.10  1.20  1.30 ]
+
+# CHECK-INST-LEVEL: MIR2Vec embeddings for machine function add_function:
+# CHECK-INST-LEVEL-NEXT: Instruction vectors:
+# CHECK-INST-LEVEL: %1:gr32 = COPY $esi
+# CHECK-INST-LEVEL-NEXT:  ->  [ 6.00  6.10  6.20 ]
+# CHECK-INST-LEVEL-NEXT: %0:gr32 = COPY $edi
+# CHECK-INST-LEVEL-NEXT:  ->  [ 6.00  6.10  6.20 ]
+# CHECK-INST-LEVEL: %2:gr32 = nsw ADD32rr
+# CHECK-INST-LEVEL:  ->  [ 3.70  3.80  3.90 ]
+# CHECK-INST-LEVEL: %3:gr32 = ADD32rr
+# CHECK-INST-LEVEL:  ->  [ 3.70  3.80  3.90 ]
+# CHECK-INST-LEVEL: $eax = COPY %3:gr32
+# CHECK-INST-LEVEL-NEXT:  ->  [ 6.00  6.10  6.20 ]
+# CHECK-INST-LEVEL: RET 0, $eax
+# CHECK-INST-LEVEL-NEXT:  ->  [ 1.10  1.20  1.30 ]
diff --git a/llvm/test/tools/llvm-ir2vec/error-handling.mir b/llvm/test/...
[truncated]

@svkeerthy svkeerthy force-pushed the users/svkeerthy/10-17-_llvm-ir2vec_mir2vec_support branch from 8c7612a to 210f7cc Compare October 20, 2025 22:35
@svkeerthy svkeerthy force-pushed the users/svkeerthy/10-13-handle_operands branch from caa93a0 to 5f0d770 Compare October 20, 2025 22:35
@svkeerthy svkeerthy force-pushed the users/svkeerthy/10-13-handle_operands branch from 5f0d770 to d9353d5 Compare October 20, 2025 23:24
@svkeerthy svkeerthy force-pushed the users/svkeerthy/10-17-_llvm-ir2vec_mir2vec_support branch from 210f7cc to 0038f1d Compare October 20, 2025 23:24
@svkeerthy svkeerthy changed the title [MIR2Vec] Add MIR2Vec support to llvm-ir2vec tool [MIR2Vec][llvm-ir2vec] Add MIR2Vec support to llvm-ir2vec tool Oct 20, 2025
@svkeerthy svkeerthy force-pushed the users/svkeerthy/10-13-handle_operands branch from d9353d5 to d2d91b2 Compare October 20, 2025 23:48
@svkeerthy svkeerthy force-pushed the users/svkeerthy/10-17-_llvm-ir2vec_mir2vec_support branch from 0038f1d to a340c43 Compare October 20, 2025 23:48
@svkeerthy svkeerthy force-pushed the users/svkeerthy/10-13-handle_operands branch from d2d91b2 to 54dbcd9 Compare October 21, 2025 00:23
@svkeerthy svkeerthy force-pushed the users/svkeerthy/10-17-_llvm-ir2vec_mir2vec_support branch from 6daabaf to 24298cf Compare October 22, 2025 21:11
@svkeerthy svkeerthy force-pushed the users/svkeerthy/10-17-_llvm-ir2vec_mir2vec_support branch from 24298cf to f59d788 Compare October 22, 2025 21:53
Copy link
Contributor Author

svkeerthy commented Oct 22, 2025

Merge activity

  • Oct 22, 10:22 PM UTC: A user started a stack merge that includes this pull request via Graphite.
  • Oct 22, 10:25 PM UTC: @svkeerthy merged this pull request with Graphite.

@svkeerthy svkeerthy merged commit 7634a8e into main Oct 22, 2025
10 of 11 checks passed
@svkeerthy svkeerthy deleted the users/svkeerthy/10-17-_llvm-ir2vec_mir2vec_support branch October 22, 2025 22:25
@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 22, 2025

LLVM Buildbot has detected a new failure on builder openmp-offload-amdgpu-runtime-2 running on rocm-worker-hw-02 while building llvm at step 5 "compile-openmp".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/10/builds/15957

Here is the relevant piece of the build log for the reference
Step 5 (compile-openmp) failure: build (failure)
...
-- For x86_64 builtins preferring x86_64/floatdidf.c to floatdidf.c
-- For x86_64 builtins preferring x86_64/floatdisf.c to floatdisf.c
-- For x86_64 builtins preferring x86_64/floatundidf.S to floatundidf.c
-- For x86_64 builtins preferring x86_64/floatundisf.S to floatundisf.c
-- For x86_64 builtins preferring x86_64/floatdixf.c to floatdixf.c
-- For x86_64 builtins preferring x86_64/floatundixf.S to floatundixf.c
-- Configuring done
-- Generating done
-- Build files have been written to: /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/runtimes/builtins-bins
42.087 [22/3/4745] Linking CXX executable bin/llvm-ir2vec
FAILED: bin/llvm-ir2vec 
: && /usr/bin/c++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -Wl,-rpath-link,/home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/./lib  -Wl,--gc-sections tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o -o bin/llvm-ir2vec  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/lib:"  lib/libLLVMX86AsmParser.so.22.0git  lib/libLLVMAMDGPUAsmParser.so.22.0git  lib/libLLVMX86CodeGen.so.22.0git  lib/libLLVMAMDGPUCodeGen.so.22.0git  lib/libLLVMX86Desc.so.22.0git  lib/libLLVMAMDGPUDesc.so.22.0git  lib/libLLVMX86Info.so.22.0git  lib/libLLVMAMDGPUInfo.so.22.0git  lib/libLLVMMIRParser.so.22.0git  lib/libLLVMCodeGen.so.22.0git  lib/libLLVMAnalysis.so.22.0git  lib/libLLVMIRReader.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/lib && :
/usr/bin/ld: tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o: undefined reference to symbol '_ZN4llvm6TripleC1EONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE'
/usr/bin/ld: /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/./lib/libLLVMTargetParser.so.22.0git: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
43.599 [22/1/4747] Linking CXX shared library lib/libclang-cpp.so.22.0git
ninja: build stopped: subcommand failed.

svkeerthy added a commit that referenced this pull request Oct 22, 2025
Fixes the build issue in `openmp-offload-amdgpu-runtime-2` caused by
#164025
@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 22, 2025

LLVM Buildbot has detected a new failure on builder hip-third-party-libs-test running on ext_buildbot_hw_05-hip-docker while building llvm at step 4 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/206/builds/7873

Here is the relevant piece of the build log for the reference
Step 4 (annotate) failure: '../llvm-zorg/zorg/buildbot/builders/annotated/hip-tpl.py --jobs=32' (failure)
...
[318/326] Building C object clang_rt.crtbegin.o
[319/326] Building C object clang_rt.crtbegin.o
[320/326] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/truncsfbf2.c.o
[321/326] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/truncdfbf2.c.o
[322/326] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/trunctfbf2.c.o
[323/326] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/trunctfxf2.c.o
[324/326] Building ASM object CMakeFiles/clang_rt.builtins-x86_64.dir/x86_64/floatundixf.S.o
[325/326] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/cpu_model/x86.c.o
[326/326] Linking C static library /home/botworker/bbot/hip-third-party-libs-test/build/lib/clang/22/lib/x86_64-unknown-linux-gnu/libclang_rt.builtins.a
[8049/8164] Linking CXX executable bin/llvm-ir2vec
FAILED: bin/llvm-ir2vec 
: && /usr/bin/c++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -Wl,-rpath-link,/home/botworker/bbot/hip-third-party-libs-test/build/./lib  -Wl,--gc-sections tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o -o bin/llvm-ir2vec  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/hip-third-party-libs-test/build/lib:"  lib/libLLVMAMDGPUAsmParser.so.22.0git  lib/libLLVMX86AsmParser.so.22.0git  lib/libLLVMAMDGPUCodeGen.so.22.0git  lib/libLLVMSPIRVCodeGen.so.22.0git  lib/libLLVMX86CodeGen.so.22.0git  lib/libLLVMAMDGPUDesc.so.22.0git  lib/libLLVMSPIRVDesc.so.22.0git  lib/libLLVMX86Desc.so.22.0git  lib/libLLVMAMDGPUInfo.so.22.0git  lib/libLLVMSPIRVInfo.so.22.0git  lib/libLLVMX86Info.so.22.0git  lib/libLLVMMIRParser.so.22.0git  lib/libLLVMCodeGen.so.22.0git  lib/libLLVMAnalysis.so.22.0git  lib/libLLVMIRReader.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/botworker/bbot/hip-third-party-libs-test/build/lib && :
/usr/bin/ld: tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o: undefined reference to symbol '_ZN4llvm6TripleC1EONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE'
/usr/bin/ld: /home/botworker/bbot/hip-third-party-libs-test/build/./lib/libLLVMTargetParser.so.22.0git: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
[8051/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/ConvertComplexPow.cpp.o
[8052/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/SimplifyFIROperations.cpp.o
[8053/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/SetRuntimeCallAttributes.cpp.o
[8054/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/OptimizeArrayRepacking.cpp.o
[8055/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/MIFOpConversion.cpp.o
[8056/8164] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o
[8057/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/GenRuntimeCallsForTest.cpp.o
[8058/8164] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/PPCIntrinsicCall.cpp.o
[8059/8164] Building CXX object tools/flang/lib/Optimizer/CodeGen/CMakeFiles/FIRCodeGen.dir/CodeGen.cpp.o
[8060/8164] Building CXX object tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/DoConcurrentConversion.cpp.o
[8061/8164] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/openmp-parsers.cpp.o
[8062/8164] Building CXX object tools/flang/tools/fir-opt/CMakeFiles/fir-opt.dir/fir-opt.cpp.o
[8063/8164] Building CXX object tools/flang/tools/tco/CMakeFiles/tco.dir/tco.cpp.o
[8064/8164] Building CXX object tools/flang/lib/Optimizer/HLFIR/Transforms/CMakeFiles/HLFIRTransforms.dir/SimplifyHLFIRIntrinsics.cpp.o
[8065/8164] Building CXX object tools/flang/tools/flang-driver/CMakeFiles/flang.dir/fc1_main.cpp.o
[8066/8164] Building CXX object tools/flang/lib/Optimizer/HLFIR/Transforms/CMakeFiles/HLFIRTransforms.dir/LowerHLFIRIntrinsics.cpp.o
[8067/8164] Building CXX object tools/flang/tools/bbc/CMakeFiles/bbc.dir/bbc.cpp.o
ninja: build stopped: subcommand failed.
['ninja'] exited with return code 1.
The build step threw an exception...
Traceback (most recent call last):
  File "/home/botworker/bbot/hip-third-party-libs-test/build/../llvm-zorg/zorg/buildbot/builders/annotated/hip-tpl.py", line 107, in step
    yield
  File "/home/botworker/bbot/hip-third-party-libs-test/build/../llvm-zorg/zorg/buildbot/builders/annotated/hip-tpl.py", line 44, in main
    run_command(["ninja"])
  File "/home/botworker/bbot/hip-third-party-libs-test/build/../llvm-zorg/zorg/buildbot/builders/annotated/hip-tpl.py", line 120, in run_command
    util.report_run_cmd(cmd, cwd=directory)
  File "/home/botworker/bbot/hip-third-party-libs-test/llvm-zorg/zorg/buildbot/builders/annotated/util.py", line 49, in report_run_cmd
    subprocess.check_call(cmd, shell=shell, *args, **kwargs)
  File "/usr/lib/python3.10/subprocess.py", line 369, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['ninja']' returned non-zero exit status 1.
@@@STEP_FAILURE@@@
@@@BUILD_STEP update llvm-test-suite@@@
Step 7 (build cmake config) failure: build cmake config (failure)
...
[318/326] Building C object clang_rt.crtbegin.o
[319/326] Building C object clang_rt.crtbegin.o
[320/326] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/truncsfbf2.c.o
[321/326] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/truncdfbf2.c.o
[322/326] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/trunctfbf2.c.o
[323/326] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/trunctfxf2.c.o
[324/326] Building ASM object CMakeFiles/clang_rt.builtins-x86_64.dir/x86_64/floatundixf.S.o
[325/326] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/cpu_model/x86.c.o
[326/326] Linking C static library /home/botworker/bbot/hip-third-party-libs-test/build/lib/clang/22/lib/x86_64-unknown-linux-gnu/libclang_rt.builtins.a
[8049/8164] Linking CXX executable bin/llvm-ir2vec
FAILED: bin/llvm-ir2vec 
: && /usr/bin/c++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -Wl,-rpath-link,/home/botworker/bbot/hip-third-party-libs-test/build/./lib  -Wl,--gc-sections tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o -o bin/llvm-ir2vec  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/hip-third-party-libs-test/build/lib:"  lib/libLLVMAMDGPUAsmParser.so.22.0git  lib/libLLVMX86AsmParser.so.22.0git  lib/libLLVMAMDGPUCodeGen.so.22.0git  lib/libLLVMSPIRVCodeGen.so.22.0git  lib/libLLVMX86CodeGen.so.22.0git  lib/libLLVMAMDGPUDesc.so.22.0git  lib/libLLVMSPIRVDesc.so.22.0git  lib/libLLVMX86Desc.so.22.0git  lib/libLLVMAMDGPUInfo.so.22.0git  lib/libLLVMSPIRVInfo.so.22.0git  lib/libLLVMX86Info.so.22.0git  lib/libLLVMMIRParser.so.22.0git  lib/libLLVMCodeGen.so.22.0git  lib/libLLVMAnalysis.so.22.0git  lib/libLLVMIRReader.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/botworker/bbot/hip-third-party-libs-test/build/lib && :
/usr/bin/ld: tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o: undefined reference to symbol '_ZN4llvm6TripleC1EONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE'
/usr/bin/ld: /home/botworker/bbot/hip-third-party-libs-test/build/./lib/libLLVMTargetParser.so.22.0git: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
[8051/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/ConvertComplexPow.cpp.o
[8052/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/SimplifyFIROperations.cpp.o
[8053/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/SetRuntimeCallAttributes.cpp.o
[8054/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/OptimizeArrayRepacking.cpp.o
[8055/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/MIFOpConversion.cpp.o
[8056/8164] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o
[8057/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/GenRuntimeCallsForTest.cpp.o
[8058/8164] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/PPCIntrinsicCall.cpp.o
[8059/8164] Building CXX object tools/flang/lib/Optimizer/CodeGen/CMakeFiles/FIRCodeGen.dir/CodeGen.cpp.o
[8060/8164] Building CXX object tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/DoConcurrentConversion.cpp.o
[8061/8164] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/openmp-parsers.cpp.o
[8062/8164] Building CXX object tools/flang/tools/fir-opt/CMakeFiles/fir-opt.dir/fir-opt.cpp.o
[8063/8164] Building CXX object tools/flang/tools/tco/CMakeFiles/tco.dir/tco.cpp.o
[8064/8164] Building CXX object tools/flang/lib/Optimizer/HLFIR/Transforms/CMakeFiles/HLFIRTransforms.dir/SimplifyHLFIRIntrinsics.cpp.o
[8065/8164] Building CXX object tools/flang/tools/flang-driver/CMakeFiles/flang.dir/fc1_main.cpp.o
[8066/8164] Building CXX object tools/flang/lib/Optimizer/HLFIR/Transforms/CMakeFiles/HLFIRTransforms.dir/LowerHLFIRIntrinsics.cpp.o
[8067/8164] Building CXX object tools/flang/tools/bbc/CMakeFiles/bbc.dir/bbc.cpp.o
ninja: build stopped: subcommand failed.
['ninja'] exited with return code 1.
The build step threw an exception...
Traceback (most recent call last):
  File "/home/botworker/bbot/hip-third-party-libs-test/build/../llvm-zorg/zorg/buildbot/builders/annotated/hip-tpl.py", line 107, in step
    yield
  File "/home/botworker/bbot/hip-third-party-libs-test/build/../llvm-zorg/zorg/buildbot/builders/annotated/hip-tpl.py", line 44, in main
    run_command(["ninja"])
  File "/home/botworker/bbot/hip-third-party-libs-test/build/../llvm-zorg/zorg/buildbot/builders/annotated/hip-tpl.py", line 120, in run_command
    util.report_run_cmd(cmd, cwd=directory)
  File "/home/botworker/bbot/hip-third-party-libs-test/llvm-zorg/zorg/buildbot/builders/annotated/util.py", line 49, in report_run_cmd
    subprocess.check_call(cmd, shell=shell, *args, **kwargs)
  File "/usr/lib/python3.10/subprocess.py", line 369, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['ninja']' returned non-zero exit status 1.

@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 22, 2025

LLVM Buildbot has detected a new failure on builder flang-aarch64-sharedlibs running on linaro-flang-aarch64-sharedlibs while building llvm at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/80/builds/16915

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
146.052 [2411/92/5460] Creating library symlink lib/libclangFormat.so
146.055 [2410/92/5461] Linking CXX static library lib/libLLVMOptDriver_static.a
146.056 [2410/91/5462] Linking CXX shared library lib/libLLVMOrcDebugging.so.22.0git
146.085 [2409/91/5463] Creating library symlink lib/libLLVMOrcDebugging.so
146.092 [2405/94/5464] Linking CXX shared library lib/libMLIRBytecodeOpInterface.so.22.0git
146.099 [2404/94/5465] Linking CXX shared library lib/libMLIROpenACCMPCommon.so.22.0git
146.104 [2403/94/5466] Creating library symlink lib/libMLIRBytecodeOpInterface.so
146.125 [2402/94/5467] Linking CXX shared library lib/libMLIRDestinationStyleOpInterface.so.22.0git
146.128 [2401/94/5468] Creating library symlink lib/libMLIROpenACCMPCommon.so
146.139 [2401/93/5469] Linking CXX executable bin/llvm-ir2vec
FAILED: bin/llvm-ir2vec 
: && /usr/local/bin/c++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-sharedlibs/build/./lib  -Wl,--gc-sections tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o -o bin/llvm-ir2vec  -Wl,-rpath,"\$ORIGIN/../lib:/home/tcwg-buildbot/worker/flang-aarch64-sharedlibs/build/lib:"  lib/libLLVMMIRParser.so.22.0git  lib/libLLVMAArch64AsmParser.so.22.0git  lib/libLLVMAArch64CodeGen.so.22.0git  lib/libLLVMAArch64Desc.so.22.0git  lib/libLLVMAArch64Info.so.22.0git  lib/libLLVMCodeGen.so.22.0git  lib/libLLVMAnalysis.so.22.0git  lib/libLLVMIRReader.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-sharedlibs/build/lib && :
/usr/bin/ld: tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o: undefined reference to symbol '_ZN4llvm6Triple9setTripleERKNS_5TwineE'
/usr/bin/ld: /home/tcwg-buildbot/worker/flang-aarch64-sharedlibs/build/./lib/libLLVMTargetParser.so.22.0git: error adding symbols: DSO missing from command line
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
146.142 [2401/92/5470] Linking CXX shared library lib/libMLIRIndexingMapOpInterface.so.22.0git
146.144 [2401/91/5471] Linking CXX shared library lib/libLLVMExegesis.so.22.0git
146.145 [2401/90/5472] Linking CXX shared library lib/libMLIRDialect.so.22.0git
146.147 [2401/89/5473] Linking CXX shared library lib/libMLIRAsmParser.so.22.0git
146.154 [2401/88/5474] Creating library symlink lib/libMLIRDestinationStyleOpInterface.so
146.161 [2401/87/5475] Linking CXX shared library lib/libMLIRCallInterfaces.so.22.0git
146.177 [2401/86/5476] Linking CXX shared library lib/libMLIRRuntimeVerifiableOpInterface.so.22.0git
146.194 [2401/85/5477] Linking CXX shared library lib/libMLIRObservers.so.22.0git
146.197 [2401/84/5478] Linking CXX executable bin/lli-child-target
146.198 [2401/83/5479] Linking CXX shared library lib/libMLIRCastInterfaces.so.22.0git
146.199 [2401/82/5480] Linking CXX shared library lib/libMLIRDataLayoutInterfaces.so.22.0git
146.209 [2401/81/5481] Linking CXX shared library lib/libMLIRMaskableOpInterface.so.22.0git
146.222 [2401/80/5482] Linking CXX shared library lib/libMLIRControlFlowInterfaces.so.22.0git
146.225 [2401/79/5483] Generating VCSVersion.inc
146.237 [2401/78/5484] Linking CXX shared library lib/libMLIRSPIRVImageInterfaces.so.22.0git
146.237 [2401/77/5485] Linking CXX shared library lib/libMLIRParallelCombiningOpInterface.so.22.0git
146.237 [2401/76/5486] Linking CXX shared library lib/libMLIRMaskingOpInterface.so.22.0git
146.240 [2401/75/5487] Linking CXX shared library lib/libLTO.so.22.0git
146.255 [2401/74/5488] Linking CXX shared library lib/libMLIRDerivedAttributeOpInterface.so.22.0git
146.266 [2401/73/5489] Linking CXX shared library lib/libMLIRMemOpInterfaces.so.22.0git
146.267 [2401/72/5490] Linking CXX shared library lib/libMLIRInferTypeOpInterface.so.22.0git
146.268 [2401/71/5491] Linking CXX shared library lib/libMLIRMemorySlotInterfaces.so.22.0git
146.275 [2401/70/5492] Linking CXX shared library lib/libMLIRRemarkStreamer.so.22.0git
146.280 [2401/69/5493] Linking CXX shared library lib/libMLIRInferIntRangeInterface.so.22.0git
146.281 [2401/68/5494] Linking CXX shared library lib/libMLIRVectorInterfaces.so.22.0git
146.296 [2401/67/5495] Linking CXX shared library lib/libMLIRShapedOpInterfaces.so.22.0git
146.298 [2401/66/5496] Linking CXX shared library lib/libMLIRSideEffectInterfaces.so.22.0git
146.302 [2401/65/5497] Linking CXX shared library lib/libMLIRViewLikeInterface.so.22.0git
146.307 [2401/64/5498] Linking CXX executable bin/clang-sycl-linker
146.313 [2401/63/5499] Linking CXX executable bin/clang-nvlink-wrapper
146.317 [2401/62/5500] Linking CXX executable bin/bugpoint
146.317 [2401/61/5501] Linking CXX shared library lib/libclangAST.so.22.0git
146.324 [2401/60/5502] Linking CXX executable bin/clang-linker-wrapper
146.327 [2401/59/5503] Linking CXX executable bin/llvm-isel-fuzzer

@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 22, 2025

LLVM Buildbot has detected a new failure on builder clang-ppc64le-rhel running on ppc64le-clang-rhel-test while building llvm at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/145/builds/10433

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
-- Performing Test COMPILER_RT_TARGET_HAS_FLOCK - Success
-- Performing Test COMPILER_RT_TARGET_HAS_UNAME
-- Performing Test COMPILER_RT_TARGET_HAS_UNAME - Success
-- Generated Sanitizer SUPPORTED_TOOLS list on "Linux" is "asan;lsan;msan;tsan;ubsan"
-- sanitizer_common tests on "Linux" will run against "asan;lsan;msan;tsan;ubsan"
-- check-shadowcallstack does nothing.
-- Configuring done (53.5s)
-- Generating done (0.6s)
-- Build files have been written to: /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-rhel-test/clang-ppc64le-rhel/build/runtimes/runtimes-bins
211.487 [3/2/6696] Linking CXX executable bin/llvm-ir2vec
FAILED: [code=1] bin/llvm-ir2vec 
: && /home/buildbots/llvm-external-buildbots/clang.20.1.8/bin/clang++ --gcc-toolchain=/gcc-toolchain/usr -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -Wl,--color-diagnostics   -Wl,--gc-sections  -Xlinker --dependency-file=tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/link.d tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o -o bin/llvm-ir2vec  -Wl,-rpath,"\$ORIGIN/../lib:/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-rhel-test/clang-ppc64le-rhel/build/lib:"  lib/libLLVMAArch64AsmParser.so.22.0git  lib/libLLVMAMDGPUAsmParser.so.22.0git  lib/libLLVMARMAsmParser.so.22.0git  lib/libLLVMAVRAsmParser.so.22.0git  lib/libLLVMBPFAsmParser.so.22.0git  lib/libLLVMLoongArchAsmParser.so.22.0git  lib/libLLVMMipsAsmParser.so.22.0git  lib/libLLVMMSP430AsmParser.so.22.0git  lib/libLLVMPowerPCAsmParser.so.22.0git  lib/libLLVMRISCVAsmParser.so.22.0git  lib/libLLVMSparcAsmParser.so.22.0git  lib/libLLVMSystemZAsmParser.so.22.0git  lib/libLLVMVEAsmParser.so.22.0git  lib/libLLVMWebAssemblyAsmParser.so.22.0git  lib/libLLVMX86AsmParser.so.22.0git  lib/libLLVMAArch64CodeGen.so.22.0git  lib/libLLVMAMDGPUCodeGen.so.22.0git  lib/libLLVMARMCodeGen.so.22.0git  lib/libLLVMAVRCodeGen.so.22.0git  lib/libLLVMBPFCodeGen.so.22.0git  lib/libLLVMHexagonCodeGen.so.22.0git  lib/libLLVMLanaiCodeGen.so.22.0git  lib/libLLVMLoongArchCodeGen.so.22.0git  lib/libLLVMMipsCodeGen.so.22.0git  lib/libLLVMMSP430CodeGen.so.22.0git  lib/libLLVMNVPTXCodeGen.so.22.0git  lib/libLLVMPowerPCCodeGen.so.22.0git  lib/libLLVMRISCVCodeGen.so.22.0git  lib/libLLVMSparcCodeGen.so.22.0git  lib/libLLVMSPIRVCodeGen.so.22.0git  lib/libLLVMSystemZCodeGen.so.22.0git  lib/libLLVMVECodeGen.so.22.0git  lib/libLLVMWebAssemblyCodeGen.so.22.0git  lib/libLLVMX86CodeGen.so.22.0git  lib/libLLVMXCoreCodeGen.so.22.0git  lib/libLLVMAArch64Desc.so.22.0git  lib/libLLVMAMDGPUDesc.so.22.0git  lib/libLLVMARMDesc.so.22.0git  lib/libLLVMAVRDesc.so.22.0git  lib/libLLVMBPFDesc.so.22.0git  lib/libLLVMLoongArchDesc.so.22.0git  lib/libLLVMMipsDesc.so.22.0git  lib/libLLVMMSP430Desc.so.22.0git  lib/libLLVMNVPTXDesc.so.22.0git  lib/libLLVMPowerPCDesc.so.22.0git  lib/libLLVMRISCVDesc.so.22.0git  lib/libLLVMSparcDesc.so.22.0git  lib/libLLVMSPIRVDesc.so.22.0git  lib/libLLVMSystemZDesc.so.22.0git  lib/libLLVMVEDesc.so.22.0git  lib/libLLVMX86Desc.so.22.0git  lib/libLLVMXCoreDesc.so.22.0git  lib/libLLVMAArch64Info.so.22.0git  lib/libLLVMAMDGPUInfo.so.22.0git  lib/libLLVMARMInfo.so.22.0git  lib/libLLVMAVRInfo.so.22.0git  lib/libLLVMBPFInfo.so.22.0git  lib/libLLVMLoongArchInfo.so.22.0git  lib/libLLVMMipsInfo.so.22.0git  lib/libLLVMMSP430Info.so.22.0git  lib/libLLVMNVPTXInfo.so.22.0git  lib/libLLVMPowerPCInfo.so.22.0git  lib/libLLVMRISCVInfo.so.22.0git  lib/libLLVMSparcInfo.so.22.0git  lib/libLLVMSPIRVInfo.so.22.0git  lib/libLLVMSystemZInfo.so.22.0git  lib/libLLVMVEInfo.so.22.0git  lib/libLLVMX86Info.so.22.0git  lib/libLLVMXCoreInfo.so.22.0git  -lpthread  lib/libLLVMMIRParser.so.22.0git  lib/libLLVMHexagonAsmParser.so.22.0git  lib/libLLVMHexagonDesc.so.22.0git  lib/libLLVMHexagonInfo.so.22.0git  lib/libLLVMLanaiAsmParser.so.22.0git  lib/libLLVMLanaiDesc.so.22.0git  lib/libLLVMLanaiInfo.so.22.0git  lib/libLLVMWebAssemblyDesc.so.22.0git  lib/libLLVMWebAssemblyInfo.so.22.0git  lib/libLLVMCodeGen.so.22.0git  lib/libLLVMAnalysis.so.22.0git  lib/libLLVMIRReader.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-rhel-test/clang-ppc64le-rhel/build/lib && :
ld.lld: error: undefined symbol: llvm::Triple::Triple(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&&)
>>> referenced by llvm-ir2vec.cpp
>>>               tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o:(std::optional<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>> llvm::function_ref<std::optional<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>> (llvm::StringRef, llvm::StringRef)>::callback_fn<main::$_1>(long, llvm::StringRef, llvm::StringRef))

ld.lld: error: undefined symbol: llvm::sys::getDefaultTargetTriple[abi:cxx11]()
>>> referenced by llvm-ir2vec.cpp
>>>               tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o:(std::optional<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>> llvm::function_ref<std::optional<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>> (llvm::StringRef, llvm::StringRef)>::callback_fn<main::$_1>(long, llvm::StringRef, llvm::StringRef))

ld.lld: error: undefined symbol: llvm::Triple::setTriple(llvm::Twine const&)
>>> referenced by llvm-ir2vec.cpp
>>>               tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o:(std::optional<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>> llvm::function_ref<std::optional<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>> (llvm::StringRef, llvm::StringRef)>::callback_fn<main::$_1>(long, llvm::StringRef, llvm::StringRef))
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 22, 2025

LLVM Buildbot has detected a new failure on builder amdgpu-offload-ubuntu-22-cmake-build-only running on rocm-docker-ubu-22 while building llvm at step 4 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/203/builds/27033

Here is the relevant piece of the build log for the reference
Step 4 (annotate) failure: '../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py --jobs=32' (failure)
...
ninja: no work to do.
[8002/8164] No install step for 'builtins'
[8004/8164] Completed 'builtins'
[8005/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/ControlFlowConverter.cpp.o
[8006/8164] Building CXX object tools/flang/lib/Frontend/CMakeFiles/flangFrontend.dir/ParserActions.cpp.o
[8007/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/DebugTypeGenerator.cpp.o
[8008/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/FunctionAttr.cpp.o
[8009/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/CUFAddConstructor.cpp.o
[8010/8164] Building CXX object tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o
[8011/8164] Linking CXX executable bin/llvm-ir2vec
FAILED: bin/llvm-ir2vec 
: && /usr/bin/c++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/./lib  -Wl,--gc-sections tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o -o bin/llvm-ir2vec  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib:"  lib/libLLVMAMDGPUAsmParser.so.22.0git  lib/libLLVMX86AsmParser.so.22.0git  lib/libLLVMAMDGPUCodeGen.so.22.0git  lib/libLLVMSPIRVCodeGen.so.22.0git  lib/libLLVMX86CodeGen.so.22.0git  lib/libLLVMAMDGPUDesc.so.22.0git  lib/libLLVMSPIRVDesc.so.22.0git  lib/libLLVMX86Desc.so.22.0git  lib/libLLVMAMDGPUInfo.so.22.0git  lib/libLLVMSPIRVInfo.so.22.0git  lib/libLLVMX86Info.so.22.0git  lib/libLLVMMIRParser.so.22.0git  lib/libLLVMCodeGen.so.22.0git  lib/libLLVMAnalysis.so.22.0git  lib/libLLVMIRReader.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib && :
/usr/bin/ld: tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o: undefined reference to symbol '_ZN4llvm6TripleC1EONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE'
/usr/bin/ld: /home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/./lib/libLLVMTargetParser.so.22.0git: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
[8012/8164] Building CXX object tools/flang/test/lib/OpenACC/CMakeFiles/FIRTestOpenACCInterfaces.dir/TestOpenACCInterfaces.cpp.o
[8013/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/CharacterConversion.cpp.o
[8014/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/SimplifyFIROperations.cpp.o
[8015/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/SetRuntimeCallAttributes.cpp.o
[8016/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/ConvertComplexPow.cpp.o
[8017/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/GenRuntimeCallsForTest.cpp.o
[8018/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/OptimizeArrayRepacking.cpp.o
[8019/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/MIFOpConversion.cpp.o
[8020/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/CUFGPUToLLVMConversion.cpp.o
[8021/8164] Building CXX object tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/DoConcurrentConversion.cpp.o
[8022/8164] Building CXX object tools/flang/lib/Optimizer/CodeGen/CMakeFiles/FIRCodeGen.dir/CodeGen.cpp.o
[8023/8164] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/IntrinsicCall.cpp.o
[8024/8164] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o
[8025/8164] Building CXX object tools/flang/tools/tco/CMakeFiles/tco.dir/tco.cpp.o
[8026/8164] Building CXX object tools/flang/lib/Optimizer/HLFIR/Transforms/CMakeFiles/HLFIRTransforms.dir/SimplifyHLFIRIntrinsics.cpp.o
[8027/8164] Building CXX object tools/flang/tools/flang-driver/CMakeFiles/flang.dir/fc1_main.cpp.o
[8028/8164] Building CXX object tools/flang/lib/Lower/CMakeFiles/FortranLower.dir/cmake_pch.hxx.gch
[8029/8164] Building CXX object tools/flang/tools/flang-driver/CMakeFiles/flang.dir/driver.cpp.o
[8030/8164] Building CXX object tools/flang/lib/Optimizer/HLFIR/Transforms/CMakeFiles/HLFIRTransforms.dir/LowerHLFIRIntrinsics.cpp.o
[8031/8164] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/openmp-parsers.cpp.o
[8032/8164] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/check-omp-atomic.cpp.o
[8033/8164] Building CXX object tools/flang/tools/bbc/CMakeFiles/bbc.dir/bbc.cpp.o
ninja: build stopped: subcommand failed.
['ninja'] exited with return code 1.
The build step threw an exception...
Traceback (most recent call last):
  File "/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py", line 62, in step
    yield
  File "/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py", line 53, in main
    run_command(["ninja"])
  File "/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py", line 75, in run_command
    util.report_run_cmd(cmd, cwd=directory)
  File "/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/llvm-zorg/zorg/buildbot/builders/annotated/util.py", line 49, in report_run_cmd
    subprocess.check_call(cmd, shell=shell, *args, **kwargs)
Step 7 (build cmake config) failure: build cmake config (failure)
...
ninja: no work to do.
[8002/8164] No install step for 'builtins'
[8004/8164] Completed 'builtins'
[8005/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/ControlFlowConverter.cpp.o
[8006/8164] Building CXX object tools/flang/lib/Frontend/CMakeFiles/flangFrontend.dir/ParserActions.cpp.o
[8007/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/DebugTypeGenerator.cpp.o
[8008/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/FunctionAttr.cpp.o
[8009/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/CUFAddConstructor.cpp.o
[8010/8164] Building CXX object tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o
[8011/8164] Linking CXX executable bin/llvm-ir2vec
FAILED: bin/llvm-ir2vec 
: && /usr/bin/c++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/./lib  -Wl,--gc-sections tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o -o bin/llvm-ir2vec  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib:"  lib/libLLVMAMDGPUAsmParser.so.22.0git  lib/libLLVMX86AsmParser.so.22.0git  lib/libLLVMAMDGPUCodeGen.so.22.0git  lib/libLLVMSPIRVCodeGen.so.22.0git  lib/libLLVMX86CodeGen.so.22.0git  lib/libLLVMAMDGPUDesc.so.22.0git  lib/libLLVMSPIRVDesc.so.22.0git  lib/libLLVMX86Desc.so.22.0git  lib/libLLVMAMDGPUInfo.so.22.0git  lib/libLLVMSPIRVInfo.so.22.0git  lib/libLLVMX86Info.so.22.0git  lib/libLLVMMIRParser.so.22.0git  lib/libLLVMCodeGen.so.22.0git  lib/libLLVMAnalysis.so.22.0git  lib/libLLVMIRReader.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib && :
/usr/bin/ld: tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o: undefined reference to symbol '_ZN4llvm6TripleC1EONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE'
/usr/bin/ld: /home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/./lib/libLLVMTargetParser.so.22.0git: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
[8012/8164] Building CXX object tools/flang/test/lib/OpenACC/CMakeFiles/FIRTestOpenACCInterfaces.dir/TestOpenACCInterfaces.cpp.o
[8013/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/CharacterConversion.cpp.o
[8014/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/SimplifyFIROperations.cpp.o
[8015/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/SetRuntimeCallAttributes.cpp.o
[8016/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/ConvertComplexPow.cpp.o
[8017/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/GenRuntimeCallsForTest.cpp.o
[8018/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/OptimizeArrayRepacking.cpp.o
[8019/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/MIFOpConversion.cpp.o
[8020/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/CUFGPUToLLVMConversion.cpp.o
[8021/8164] Building CXX object tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/DoConcurrentConversion.cpp.o
[8022/8164] Building CXX object tools/flang/lib/Optimizer/CodeGen/CMakeFiles/FIRCodeGen.dir/CodeGen.cpp.o
[8023/8164] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/IntrinsicCall.cpp.o
[8024/8164] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o
[8025/8164] Building CXX object tools/flang/tools/tco/CMakeFiles/tco.dir/tco.cpp.o
[8026/8164] Building CXX object tools/flang/lib/Optimizer/HLFIR/Transforms/CMakeFiles/HLFIRTransforms.dir/SimplifyHLFIRIntrinsics.cpp.o
[8027/8164] Building CXX object tools/flang/tools/flang-driver/CMakeFiles/flang.dir/fc1_main.cpp.o
[8028/8164] Building CXX object tools/flang/lib/Lower/CMakeFiles/FortranLower.dir/cmake_pch.hxx.gch
[8029/8164] Building CXX object tools/flang/tools/flang-driver/CMakeFiles/flang.dir/driver.cpp.o
[8030/8164] Building CXX object tools/flang/lib/Optimizer/HLFIR/Transforms/CMakeFiles/HLFIRTransforms.dir/LowerHLFIRIntrinsics.cpp.o
[8031/8164] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/openmp-parsers.cpp.o
[8032/8164] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/check-omp-atomic.cpp.o
[8033/8164] Building CXX object tools/flang/tools/bbc/CMakeFiles/bbc.dir/bbc.cpp.o
ninja: build stopped: subcommand failed.
['ninja'] exited with return code 1.
The build step threw an exception...
Traceback (most recent call last):
  File "/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py", line 62, in step
    yield
  File "/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py", line 53, in main
    run_command(["ninja"])
  File "/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py", line 75, in run_command
    util.report_run_cmd(cmd, cwd=directory)
  File "/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/llvm-zorg/zorg/buildbot/builders/annotated/util.py", line 49, in report_run_cmd
    subprocess.check_call(cmd, shell=shell, *args, **kwargs)

@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 23, 2025

LLVM Buildbot has detected a new failure on builder amdgpu-offload-rhel-9-cmake-build-only running on rocm-docker-rhel-9 while building llvm at step 4 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/205/builds/25822

Here is the relevant piece of the build log for the reference
Step 4 (annotate) failure: '../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py --jobs=32' (failure)
...
[8062/8164] Creating library symlink lib/libFIROpenACCSupport.so
[8063/8164] Creating library symlink lib/libFortranUtils.so
[8064/8164] Linking CXX shared library lib/libFIRAnalysis.so.22.0git
[8065/8164] Creating library symlink lib/libFIRAnalysis.so
[8066/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/LoopVersioning.cpp.o
[8067/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/CUFOpConversion.cpp.o
[8068/8164] Linking CXX executable bin/fir-lsp-server
[8069/8164] Building CXX object tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o
[8070/8164] Building CXX object tools/flang/test/lib/OpenACC/CMakeFiles/FIRTestOpenACCInterfaces.dir/TestOpenACCInterfaces.cpp.o
[8071/8164] Linking CXX executable bin/llvm-ir2vec
FAILED: bin/llvm-ir2vec 
: && /usr/bin/c++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/./lib  -Wl,--gc-sections tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o -o bin/llvm-ir2vec  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/lib:"  lib/libLLVMAMDGPUAsmParser.so.22.0git  lib/libLLVMX86AsmParser.so.22.0git  lib/libLLVMAMDGPUCodeGen.so.22.0git  lib/libLLVMSPIRVCodeGen.so.22.0git  lib/libLLVMX86CodeGen.so.22.0git  lib/libLLVMAMDGPUDesc.so.22.0git  lib/libLLVMSPIRVDesc.so.22.0git  lib/libLLVMX86Desc.so.22.0git  lib/libLLVMAMDGPUInfo.so.22.0git  lib/libLLVMSPIRVInfo.so.22.0git  lib/libLLVMX86Info.so.22.0git  lib/libLLVMMIRParser.so.22.0git  lib/libLLVMCodeGen.so.22.0git  lib/libLLVMAnalysis.so.22.0git  lib/libLLVMIRReader.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/lib && :
/usr/bin/ld: tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o: undefined reference to symbol '_ZN4llvm6TripleC1EONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE'
/usr/bin/ld: /home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/./lib/libLLVMTargetParser.so.22.0git: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
[8072/8164] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/semantics.cpp.o
[8073/8164] Linking CXX shared library lib/libFIRTestOpenACCInterfaces.so.22.0git
[8074/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/SimplifyFIROperations.cpp.o
[8075/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/SetRuntimeCallAttributes.cpp.o
[8076/8164] Building CXX object tools/flang/lib/Frontend/CMakeFiles/flangFrontend.dir/cmake_pch.hxx.gch
[8077/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/GenRuntimeCallsForTest.cpp.o
[8078/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/OptimizeArrayRepacking.cpp.o
[8079/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/ConvertComplexPow.cpp.o
[8080/8164] Building CXX object tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/GenericLoopConversion.cpp.o
[8081/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/MIFOpConversion.cpp.o
[8082/8164] Building CXX object tools/flang/lib/Optimizer/CodeGen/CMakeFiles/FIRCodeGen.dir/CodeGen.cpp.o
[8083/8164] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/check-omp-atomic.cpp.o
[8084/8164] Building CXX object tools/flang/tools/tco/CMakeFiles/tco.dir/tco.cpp.o
[8085/8164] Building CXX object tools/flang/tools/flang-driver/CMakeFiles/flang.dir/fc1_main.cpp.o
[8086/8164] Building CXX object tools/flang/tools/flang-driver/CMakeFiles/flang.dir/driver.cpp.o
[8087/8164] Building CXX object tools/flang/lib/Optimizer/HLFIR/Transforms/CMakeFiles/HLFIRTransforms.dir/SimplifyHLFIRIntrinsics.cpp.o
[8088/8164] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/resolve-names.cpp.o
[8089/8164] Building CXX object tools/flang/lib/Optimizer/HLFIR/Transforms/CMakeFiles/HLFIRTransforms.dir/LowerHLFIRIntrinsics.cpp.o
[8090/8164] Building CXX object tools/flang/tools/bbc/CMakeFiles/bbc.dir/bbc.cpp.o
ninja: build stopped: subcommand failed.
['ninja'] exited with return code 1.
The build step threw an exception...
Traceback (most recent call last):
  File "/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py", line 62, in step
    yield
  File "/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py", line 53, in main
    run_command(["ninja"])
  File "/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py", line 75, in run_command
    util.report_run_cmd(cmd, cwd=directory)
  File "/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-zorg/zorg/buildbot/builders/annotated/util.py", line 49, in report_run_cmd
    subprocess.check_call(cmd, shell=shell, *args, **kwargs)
  File "/usr/lib64/python3.9/subprocess.py", line 373, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['ninja']' returned non-zero exit status 1.
Step 7 (build cmake config) failure: build cmake config (failure)
...
[8062/8164] Creating library symlink lib/libFIROpenACCSupport.so
[8063/8164] Creating library symlink lib/libFortranUtils.so
[8064/8164] Linking CXX shared library lib/libFIRAnalysis.so.22.0git
[8065/8164] Creating library symlink lib/libFIRAnalysis.so
[8066/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/LoopVersioning.cpp.o
[8067/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/CUFOpConversion.cpp.o
[8068/8164] Linking CXX executable bin/fir-lsp-server
[8069/8164] Building CXX object tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o
[8070/8164] Building CXX object tools/flang/test/lib/OpenACC/CMakeFiles/FIRTestOpenACCInterfaces.dir/TestOpenACCInterfaces.cpp.o
[8071/8164] Linking CXX executable bin/llvm-ir2vec
FAILED: bin/llvm-ir2vec 
: && /usr/bin/c++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/./lib  -Wl,--gc-sections tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o -o bin/llvm-ir2vec  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/lib:"  lib/libLLVMAMDGPUAsmParser.so.22.0git  lib/libLLVMX86AsmParser.so.22.0git  lib/libLLVMAMDGPUCodeGen.so.22.0git  lib/libLLVMSPIRVCodeGen.so.22.0git  lib/libLLVMX86CodeGen.so.22.0git  lib/libLLVMAMDGPUDesc.so.22.0git  lib/libLLVMSPIRVDesc.so.22.0git  lib/libLLVMX86Desc.so.22.0git  lib/libLLVMAMDGPUInfo.so.22.0git  lib/libLLVMSPIRVInfo.so.22.0git  lib/libLLVMX86Info.so.22.0git  lib/libLLVMMIRParser.so.22.0git  lib/libLLVMCodeGen.so.22.0git  lib/libLLVMAnalysis.so.22.0git  lib/libLLVMIRReader.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/lib && :
/usr/bin/ld: tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o: undefined reference to symbol '_ZN4llvm6TripleC1EONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE'
/usr/bin/ld: /home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/./lib/libLLVMTargetParser.so.22.0git: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
[8072/8164] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/semantics.cpp.o
[8073/8164] Linking CXX shared library lib/libFIRTestOpenACCInterfaces.so.22.0git
[8074/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/SimplifyFIROperations.cpp.o
[8075/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/SetRuntimeCallAttributes.cpp.o
[8076/8164] Building CXX object tools/flang/lib/Frontend/CMakeFiles/flangFrontend.dir/cmake_pch.hxx.gch
[8077/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/GenRuntimeCallsForTest.cpp.o
[8078/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/OptimizeArrayRepacking.cpp.o
[8079/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/ConvertComplexPow.cpp.o
[8080/8164] Building CXX object tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/GenericLoopConversion.cpp.o
[8081/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/MIFOpConversion.cpp.o
[8082/8164] Building CXX object tools/flang/lib/Optimizer/CodeGen/CMakeFiles/FIRCodeGen.dir/CodeGen.cpp.o
[8083/8164] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/check-omp-atomic.cpp.o
[8084/8164] Building CXX object tools/flang/tools/tco/CMakeFiles/tco.dir/tco.cpp.o
[8085/8164] Building CXX object tools/flang/tools/flang-driver/CMakeFiles/flang.dir/fc1_main.cpp.o
[8086/8164] Building CXX object tools/flang/tools/flang-driver/CMakeFiles/flang.dir/driver.cpp.o
[8087/8164] Building CXX object tools/flang/lib/Optimizer/HLFIR/Transforms/CMakeFiles/HLFIRTransforms.dir/SimplifyHLFIRIntrinsics.cpp.o
[8088/8164] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/resolve-names.cpp.o
[8089/8164] Building CXX object tools/flang/lib/Optimizer/HLFIR/Transforms/CMakeFiles/HLFIRTransforms.dir/LowerHLFIRIntrinsics.cpp.o
[8090/8164] Building CXX object tools/flang/tools/bbc/CMakeFiles/bbc.dir/bbc.cpp.o
ninja: build stopped: subcommand failed.
['ninja'] exited with return code 1.
The build step threw an exception...
Traceback (most recent call last):
  File "/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py", line 62, in step
    yield
  File "/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py", line 53, in main
    run_command(["ninja"])
  File "/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py", line 75, in run_command
    util.report_run_cmd(cmd, cwd=directory)
  File "/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-zorg/zorg/buildbot/builders/annotated/util.py", line 49, in report_run_cmd
    subprocess.check_call(cmd, shell=shell, *args, **kwargs)
  File "/usr/lib64/python3.9/subprocess.py", line 373, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['ninja']' returned non-zero exit status 1.

@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 23, 2025

LLVM Buildbot has detected a new failure on builder amdgpu-offload-rhel-8-cmake-build-only running on rocm-docker-rhel-8 while building llvm at step 4 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/204/builds/25845

Here is the relevant piece of the build log for the reference
Step 4 (annotate) failure: '../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py --jobs=32' (failure)
...
[8056/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/LoopVersioning.cpp.o
[8057/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/FunctionAttr.cpp.o
[8058/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/SimplifyIntrinsics.cpp.o
[8059/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/DebugTypeGenerator.cpp.o
[8060/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/AddDebugInfo.cpp.o
[8061/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/VScaleAttr.cpp.o
[8062/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/SetRuntimeCallAttributes.cpp.o
[8063/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/GenRuntimeCallsForTest.cpp.o
[8064/8164] Building CXX object tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o
[8065/8164] Linking CXX executable bin/llvm-ir2vec
FAILED: bin/llvm-ir2vec 
: && /usr/bin/c++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-array-bounds -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wno-comment -Wno-misleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/./lib  -Wl,--gc-sections tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o -o bin/llvm-ir2vec  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/lib:"  lib/libLLVMAMDGPUAsmParser.so.22.0git  lib/libLLVMX86AsmParser.so.22.0git  lib/libLLVMAMDGPUCodeGen.so.22.0git  lib/libLLVMSPIRVCodeGen.so.22.0git  lib/libLLVMX86CodeGen.so.22.0git  lib/libLLVMAMDGPUDesc.so.22.0git  lib/libLLVMSPIRVDesc.so.22.0git  lib/libLLVMX86Desc.so.22.0git  lib/libLLVMAMDGPUInfo.so.22.0git  lib/libLLVMSPIRVInfo.so.22.0git  lib/libLLVMX86Info.so.22.0git  -lpthread  lib/libLLVMMIRParser.so.22.0git  lib/libLLVMCodeGen.so.22.0git  lib/libLLVMAnalysis.so.22.0git  lib/libLLVMIRReader.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/lib && :
/usr/bin/ld: tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o: undefined reference to symbol '_ZN4llvm6TripleC1EONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE'
/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/./lib/libLLVMTargetParser.so.22.0git: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
[8066/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/OptimizeArrayRepacking.cpp.o
[8067/8164] Building CXX object tools/flang/test/lib/OpenACC/CMakeFiles/FIRTestOpenACCInterfaces.dir/TestOpenACCInterfaces.cpp.o
[8068/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/ConvertComplexPow.cpp.o
[8069/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/SimplifyFIROperations.cpp.o
[8070/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/MIFOpConversion.cpp.o
[8071/8164] Building CXX object tools/flang/lib/Optimizer/HLFIR/Transforms/CMakeFiles/HLFIRTransforms.dir/LowerHLFIRIntrinsics.cpp.o
[8072/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/PolymorphicOpConversion.cpp.o
[8073/8164] Building CXX object tools/flang/lib/Optimizer/HLFIR/Transforms/CMakeFiles/HLFIRTransforms.dir/SimplifyHLFIRIntrinsics.cpp.o
[8074/8164] Building CXX object tools/flang/tools/flang-driver/CMakeFiles/flang.dir/driver.cpp.o
[8075/8164] Building CXX object tools/flang/tools/fir-lsp-server/CMakeFiles/fir-lsp-server.dir/fir-lsp-server.cpp.o
[8076/8164] Building CXX object tools/flang/lib/Lower/CMakeFiles/FortranLower.dir/ConvertExpr.cpp.o
[8077/8164] Building CXX object tools/flang/tools/flang-driver/CMakeFiles/flang.dir/fc1_main.cpp.o
[8078/8164] Building CXX object tools/flang/tools/fir-opt/CMakeFiles/fir-opt.dir/fir-opt.cpp.o
[8079/8164] Building CXX object tools/flang/lib/Frontend/CMakeFiles/flangFrontend.dir/ParserActions.cpp.o
[8080/8164] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/check-omp-atomic.cpp.o
[8081/8164] Building CXX object tools/flang/tools/tco/CMakeFiles/tco.dir/tco.cpp.o
[8082/8164] Building CXX object tools/flang/tools/bbc/CMakeFiles/bbc.dir/bbc.cpp.o
[8083/8164] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/openmp-parsers.cpp.o
ninja: build stopped: subcommand failed.
['ninja'] exited with return code 1.
The build step threw an exception...
Traceback (most recent call last):
  File "../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py", line 62, in step
    yield
  File "../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py", line 53, in main
    run_command(["ninja"])
  File "../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py", line 75, in run_command
    util.report_run_cmd(cmd, cwd=directory)
  File "/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-zorg/zorg/buildbot/builders/annotated/util.py", line 49, in report_run_cmd
    subprocess.check_call(cmd, shell=shell, *args, **kwargs)
  File "/usr/lib64/python3.8/subprocess.py", line 364, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['ninja']' returned non-zero exit status 1.
@@@STEP_FAILURE@@@
Step 7 (build cmake config) failure: build cmake config (failure)
...
[8056/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/LoopVersioning.cpp.o
[8057/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/FunctionAttr.cpp.o
[8058/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/SimplifyIntrinsics.cpp.o
[8059/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/DebugTypeGenerator.cpp.o
[8060/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/AddDebugInfo.cpp.o
[8061/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/VScaleAttr.cpp.o
[8062/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/SetRuntimeCallAttributes.cpp.o
[8063/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/GenRuntimeCallsForTest.cpp.o
[8064/8164] Building CXX object tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o
[8065/8164] Linking CXX executable bin/llvm-ir2vec
FAILED: bin/llvm-ir2vec 
: && /usr/bin/c++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-array-bounds -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wno-comment -Wno-misleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/./lib  -Wl,--gc-sections tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o -o bin/llvm-ir2vec  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/lib:"  lib/libLLVMAMDGPUAsmParser.so.22.0git  lib/libLLVMX86AsmParser.so.22.0git  lib/libLLVMAMDGPUCodeGen.so.22.0git  lib/libLLVMSPIRVCodeGen.so.22.0git  lib/libLLVMX86CodeGen.so.22.0git  lib/libLLVMAMDGPUDesc.so.22.0git  lib/libLLVMSPIRVDesc.so.22.0git  lib/libLLVMX86Desc.so.22.0git  lib/libLLVMAMDGPUInfo.so.22.0git  lib/libLLVMSPIRVInfo.so.22.0git  lib/libLLVMX86Info.so.22.0git  -lpthread  lib/libLLVMMIRParser.so.22.0git  lib/libLLVMCodeGen.so.22.0git  lib/libLLVMAnalysis.so.22.0git  lib/libLLVMIRReader.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/lib && :
/usr/bin/ld: tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o: undefined reference to symbol '_ZN4llvm6TripleC1EONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE'
/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/./lib/libLLVMTargetParser.so.22.0git: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
[8066/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/OptimizeArrayRepacking.cpp.o
[8067/8164] Building CXX object tools/flang/test/lib/OpenACC/CMakeFiles/FIRTestOpenACCInterfaces.dir/TestOpenACCInterfaces.cpp.o
[8068/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/ConvertComplexPow.cpp.o
[8069/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/SimplifyFIROperations.cpp.o
[8070/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/MIFOpConversion.cpp.o
[8071/8164] Building CXX object tools/flang/lib/Optimizer/HLFIR/Transforms/CMakeFiles/HLFIRTransforms.dir/LowerHLFIRIntrinsics.cpp.o
[8072/8164] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/PolymorphicOpConversion.cpp.o
[8073/8164] Building CXX object tools/flang/lib/Optimizer/HLFIR/Transforms/CMakeFiles/HLFIRTransforms.dir/SimplifyHLFIRIntrinsics.cpp.o
[8074/8164] Building CXX object tools/flang/tools/flang-driver/CMakeFiles/flang.dir/driver.cpp.o
[8075/8164] Building CXX object tools/flang/tools/fir-lsp-server/CMakeFiles/fir-lsp-server.dir/fir-lsp-server.cpp.o
[8076/8164] Building CXX object tools/flang/lib/Lower/CMakeFiles/FortranLower.dir/ConvertExpr.cpp.o
[8077/8164] Building CXX object tools/flang/tools/flang-driver/CMakeFiles/flang.dir/fc1_main.cpp.o
[8078/8164] Building CXX object tools/flang/tools/fir-opt/CMakeFiles/fir-opt.dir/fir-opt.cpp.o
[8079/8164] Building CXX object tools/flang/lib/Frontend/CMakeFiles/flangFrontend.dir/ParserActions.cpp.o
[8080/8164] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/check-omp-atomic.cpp.o
[8081/8164] Building CXX object tools/flang/tools/tco/CMakeFiles/tco.dir/tco.cpp.o
[8082/8164] Building CXX object tools/flang/tools/bbc/CMakeFiles/bbc.dir/bbc.cpp.o
[8083/8164] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/openmp-parsers.cpp.o
ninja: build stopped: subcommand failed.
['ninja'] exited with return code 1.
The build step threw an exception...
Traceback (most recent call last):
  File "../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py", line 62, in step
    yield
  File "../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py", line 53, in main
    run_command(["ninja"])
  File "../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py", line 75, in run_command
    util.report_run_cmd(cmd, cwd=directory)
  File "/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-zorg/zorg/buildbot/builders/annotated/util.py", line 49, in report_run_cmd
    subprocess.check_call(cmd, shell=shell, *args, **kwargs)
  File "/usr/lib64/python3.8/subprocess.py", line 364, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['ninja']' returned non-zero exit status 1.
program finished with exit code 0

@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 23, 2025

LLVM Buildbot has detected a new failure on builder llvm-nvptx-nvidia-ubuntu running on as-builder-7 while building llvm at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/180/builds/27196

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
60.711 [5/5/2834] Linking CXX executable bin/bugpoint
60.725 [4/5/2835] Linking CXX executable bin/llvm-reduce
60.726 [4/4/2836] Linking CXX shared library lib/libLLVMOptDriver.so.22.0git
60.732 [3/4/2837] Building CXX object tools/bugpoint-passes/CMakeFiles/BugpointPasses.dir/TestPasses.cpp.o
60.750 [2/4/2838] Creating library symlink lib/libLLVMOptDriver.so
60.801 [1/4/2839] Linking CXX shared module lib/BugpointPasses.so
60.802 [1/3/2840] Linking CXX executable bin/llvm-exegesis
60.886 [1/2/2841] Linking CXX executable bin/opt
68.334 [1/1/2842] Building CXX object tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o
68.454 [0/1/2843] Linking CXX executable bin/llvm-ir2vec
FAILED: bin/llvm-ir2vec 
: && /usr/bin/c++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-dangling-reference -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -fuse-ld=gold     -Wl,--gc-sections tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o -o bin/llvm-ir2vec  -Wl,-rpath,"\$ORIGIN/../lib:/home/buildbot/worker/as-builder-7/llvm-nvptx-nvidia-ubuntu/build/lib:"  lib/libLLVMMIRParser.so.22.0git  lib/libLLVMX86AsmParser.so.22.0git  lib/libLLVMX86CodeGen.so.22.0git  lib/libLLVMNVPTXCodeGen.so.22.0git  lib/libLLVMX86Desc.so.22.0git  lib/libLLVMNVPTXDesc.so.22.0git  lib/libLLVMX86Info.so.22.0git  lib/libLLVMNVPTXInfo.so.22.0git  lib/libLLVMCodeGen.so.22.0git  lib/libLLVMAnalysis.so.22.0git  lib/libLLVMIRReader.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/buildbot/worker/as-builder-7/llvm-nvptx-nvidia-ubuntu/build/lib && :
tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o:llvm-ir2vec.cpp:function main::{lambda(llvm::StringRef, llvm::StringRef)#1}::operator()(llvm::StringRef, llvm::StringRef) const [clone .isra.0]:(.text._ZZ4mainENKUlN4llvm9StringRefES0_E_clES0_S0_.isra.0+0x8c): error: undefined reference to 'llvm::Triple::Triple(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)'
tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o:llvm-ir2vec.cpp:function main::{lambda(llvm::StringRef, llvm::StringRef)#1}::operator()(llvm::StringRef, llvm::StringRef) const [clone .isra.0]:(.text._ZZ4mainENKUlN4llvm9StringRefES0_E_clES0_S0_.isra.0+0x30c): error: undefined reference to 'llvm::sys::getDefaultTargetTriple[abi:cxx11]()'
tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o:llvm-ir2vec.cpp:function main::{lambda(llvm::StringRef, llvm::StringRef)#1}::operator()(llvm::StringRef, llvm::StringRef) const [clone .isra.0]:(.text._ZZ4mainENKUlN4llvm9StringRefES0_E_clES0_S0_.isra.0+0x328): error: undefined reference to 'llvm::Triple::setTriple(llvm::Twine const&)'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 23, 2025

LLVM Buildbot has detected a new failure on builder llvm-nvptx64-nvidia-ubuntu running on as-builder-7 while building llvm at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/160/builds/27056

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
62.294 [5/5/2834] Linking CXX executable bin/bugpoint
62.307 [4/5/2835] Linking CXX executable bin/llvm-reduce
62.309 [4/4/2836] Linking CXX shared library lib/libLLVMOptDriver.so.22.0git
62.315 [3/4/2837] Building CXX object tools/bugpoint-passes/CMakeFiles/BugpointPasses.dir/TestPasses.cpp.o
62.334 [2/4/2838] Creating library symlink lib/libLLVMOptDriver.so
62.381 [1/4/2839] Linking CXX executable bin/llvm-exegesis
62.382 [1/3/2840] Linking CXX shared module lib/BugpointPasses.so
62.470 [1/2/2841] Linking CXX executable bin/opt
70.225 [1/1/2842] Building CXX object tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o
70.345 [0/1/2843] Linking CXX executable bin/llvm-ir2vec
FAILED: bin/llvm-ir2vec 
: && /usr/bin/c++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-dangling-reference -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -fuse-ld=gold     -Wl,--gc-sections tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o -o bin/llvm-ir2vec  -Wl,-rpath,"\$ORIGIN/../lib:/home/buildbot/worker/as-builder-7/llvm-nvptx64-nvidia-ubuntu/build/lib:"  lib/libLLVMMIRParser.so.22.0git  lib/libLLVMX86AsmParser.so.22.0git  lib/libLLVMX86CodeGen.so.22.0git  lib/libLLVMNVPTXCodeGen.so.22.0git  lib/libLLVMX86Desc.so.22.0git  lib/libLLVMNVPTXDesc.so.22.0git  lib/libLLVMX86Info.so.22.0git  lib/libLLVMNVPTXInfo.so.22.0git  lib/libLLVMCodeGen.so.22.0git  lib/libLLVMAnalysis.so.22.0git  lib/libLLVMIRReader.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/buildbot/worker/as-builder-7/llvm-nvptx64-nvidia-ubuntu/build/lib && :
tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o:llvm-ir2vec.cpp:function main::{lambda(llvm::StringRef, llvm::StringRef)#1}::operator()(llvm::StringRef, llvm::StringRef) const [clone .isra.0]:(.text._ZZ4mainENKUlN4llvm9StringRefES0_E_clES0_S0_.isra.0+0x8c): error: undefined reference to 'llvm::Triple::Triple(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)'
tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o:llvm-ir2vec.cpp:function main::{lambda(llvm::StringRef, llvm::StringRef)#1}::operator()(llvm::StringRef, llvm::StringRef) const [clone .isra.0]:(.text._ZZ4mainENKUlN4llvm9StringRefES0_E_clES0_S0_.isra.0+0x30c): error: undefined reference to 'llvm::sys::getDefaultTargetTriple[abi:cxx11]()'
tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o:llvm-ir2vec.cpp:function main::{lambda(llvm::StringRef, llvm::StringRef)#1}::operator()(llvm::StringRef, llvm::StringRef) const [clone .isra.0]:(.text._ZZ4mainENKUlN4llvm9StringRefES0_E_clES0_S0_.isra.0+0x328): error: undefined reference to 'llvm::Triple::setTriple(llvm::Twine const&)'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 23, 2025

LLVM Buildbot has detected a new failure on builder sanitizer-ppc64le-linux running on ppc64le-sanitizer while building llvm at step 2 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/72/builds/15585

Here is the relevant piece of the build log for the reference
Step 2 (annotate) failure: 'python ../sanitizer_buildbot/sanitizers/zorg/buildbot/builders/sanitizers/buildbot_selector.py' (failure) (timed out)
...
PASS: SanitizerCommon-asan-powerpc64le-Linux :: Linux/signal_segv_handler.cpp (5029 of 5038)
PASS: SanitizerCommon-msan-powerpc64le-Linux :: Linux/signal_segv_handler.cpp (5030 of 5038)
PASS: AddressSanitizer-Unit :: ./Asan-powerpc64le-calls-Dynamic-Test/40/96 (5031 of 5038)
PASS: AddressSanitizer-Unit :: ./Asan-powerpc64le-inline-Test/40/96 (5032 of 5038)
PASS: AddressSanitizer-Unit :: ./Asan-powerpc64le-inline-Dynamic-Test/40/96 (5033 of 5038)
PASS: AddressSanitizer-Unit :: ./Asan-powerpc64le-calls-Test/40/96 (5034 of 5038)
PASS: AddressSanitizer-Unit :: ./Asan-powerpc64le-inline-Test/68/96 (5035 of 5038)
PASS: AddressSanitizer-Unit :: ./Asan-powerpc64le-calls-Test/68/96 (5036 of 5038)
PASS: AddressSanitizer-Unit :: ./Asan-powerpc64le-calls-Dynamic-Test/68/96 (5037 of 5038)
PASS: AddressSanitizer-Unit :: ./Asan-powerpc64le-inline-Dynamic-Test/68/96 (5038 of 5038)
command timed out: 1800 seconds without output running [b'python', b'../sanitizer_buildbot/sanitizers/zorg/buildbot/builders/sanitizers/buildbot_selector.py'], attempting to kill
process killed by signal 9
program finished with exit code -1
elapsedTime=6324.552459
Step 12 (test compiler-rt default) failure: test compiler-rt default (failure)
...
PASS: UBSan-AddressSanitizer-powerpc64le :: TestCases/ImplicitConversion/unsigned-integer-truncation-ignorelist.c (4994 of 5038)
PASS: UBSan-Standalone-powerpc64le :: TestCases/ImplicitConversion/unsigned-integer-truncation-ignorelist.c (4995 of 5038)
PASS: UBSan-ThreadSanitizer-powerpc64le :: TestCases/ImplicitConversion/integer-arithmetic-value-change.c (4996 of 5038)
PASS: ScudoStandalone-Unit :: ./ScudoUnitTest-powerpc64le-Test/97/333 (4997 of 5038)
PASS: UBSan-ThreadSanitizer-powerpc64le :: TestCases/ImplicitConversion/signed-integer-truncation.c (4998 of 5038)
PASS: UBSan-ThreadSanitizer-powerpc64le :: TestCases/ImplicitConversion/bitfield-conversion.c (4999 of 5038)
PASS: UBSan-ThreadSanitizer-powerpc64le :: TestCases/ImplicitConversion/integer-conversion.c (5000 of 5038)
PASS: AddressSanitizer-Unit :: ./Asan-powerpc64le-inline-Dynamic-Test/70/96 (5001 of 5038)
PASS: UBSan-ThreadSanitizer-powerpc64le :: TestCases/TypeCheck/vptr.cpp (5002 of 5038)
PASS: ThreadSanitizer-powerpc64le :: signal_thread.cpp (5003 of 5038)
PASS: UBSan-MemorySanitizer-powerpc64le :: TestCases/ImplicitConversion/unsigned-integer-truncation-ignorelist.c (5004 of 5038)
PASS: UBSan-ThreadSanitizer-powerpc64le :: TestCases/Pointer/nullptr-and-nonzero-offset-variable.cpp (5005 of 5038)
PASS: ThreadSanitizer-powerpc64le :: deadlock_detector_stress_test.cpp (5006 of 5038)
PASS: UBSan-MemorySanitizer-powerpc64le :: TestCases/ImplicitConversion/signed-integer-truncation-ignorelist.c (5007 of 5038)
PASS: UBSan-ThreadSanitizer-powerpc64le :: TestCases/ImplicitConversion/signed-integer-truncation-or-sign-change-ignorelist.c (5008 of 5038)
PASS: UBSan-ThreadSanitizer-powerpc64le :: TestCases/ImplicitConversion/signed-integer-truncation-ignorelist.c (5009 of 5038)
PASS: AddressSanitizer-Unit :: ./Asan-powerpc64le-calls-Dynamic-Test/67/96 (5010 of 5038)
PASS: AddressSanitizer-Unit :: ./Asan-powerpc64le-inline-Test/66/96 (5011 of 5038)
PASS: AddressSanitizer-Unit :: ./Asan-powerpc64le-calls-Test/66/96 (5012 of 5038)
PASS: UBSan-ThreadSanitizer-powerpc64le :: TestCases/ImplicitConversion/unsigned-integer-truncation-ignorelist.c (5013 of 5038)
PASS: AddressSanitizer-Unit :: ./Asan-powerpc64le-inline-Test/67/96 (5014 of 5038)
PASS: AddressSanitizer-Unit :: ./Asan-powerpc64le-calls-Test/67/96 (5015 of 5038)
PASS: AddressSanitizer-Unit :: ./Asan-powerpc64le-inline-Dynamic-Test/66/96 (5016 of 5038)
PASS: AddressSanitizer-Unit :: ./Asan-powerpc64le-inline-Dynamic-Test/67/96 (5017 of 5038)
PASS: AddressSanitizer-Unit :: ./Asan-powerpc64le-calls-Dynamic-Test/66/96 (5018 of 5038)
PASS: AddressSanitizer-Unit :: ./Asan-powerpc64le-inline-Dynamic-Test/32/96 (5019 of 5038)
PASS: AddressSanitizer-Unit :: ./Asan-powerpc64le-calls-Test/32/96 (5020 of 5038)
PASS: AddressSanitizer-Unit :: ./Asan-powerpc64le-inline-Test/32/96 (5021 of 5038)
PASS: AddressSanitizer-Unit :: ./Asan-powerpc64le-calls-Dynamic-Test/32/96 (5022 of 5038)
PASS: ThreadSanitizer-powerpc64le :: Linux/fork_multithreaded4.cpp (5023 of 5038)
PASS: ThreadSanitizer-powerpc64le :: bench_threads.cpp (5024 of 5038)
PASS: ThreadSanitizer-powerpc64le :: restore_stack.cpp (5025 of 5038)
PASS: SanitizerCommon-ubsan-powerpc64le-Linux :: Linux/signal_segv_handler.cpp (5026 of 5038)
PASS: SanitizerCommon-lsan-powerpc64le-Linux :: Linux/signal_segv_handler.cpp (5027 of 5038)
PASS: SanitizerCommon-tsan-powerpc64le-Linux :: Linux/signal_segv_handler.cpp (5028 of 5038)
PASS: SanitizerCommon-asan-powerpc64le-Linux :: Linux/signal_segv_handler.cpp (5029 of 5038)
PASS: SanitizerCommon-msan-powerpc64le-Linux :: Linux/signal_segv_handler.cpp (5030 of 5038)
PASS: AddressSanitizer-Unit :: ./Asan-powerpc64le-calls-Dynamic-Test/40/96 (5031 of 5038)
PASS: AddressSanitizer-Unit :: ./Asan-powerpc64le-inline-Test/40/96 (5032 of 5038)
PASS: AddressSanitizer-Unit :: ./Asan-powerpc64le-inline-Dynamic-Test/40/96 (5033 of 5038)
PASS: AddressSanitizer-Unit :: ./Asan-powerpc64le-calls-Test/40/96 (5034 of 5038)
PASS: AddressSanitizer-Unit :: ./Asan-powerpc64le-inline-Test/68/96 (5035 of 5038)
PASS: AddressSanitizer-Unit :: ./Asan-powerpc64le-calls-Test/68/96 (5036 of 5038)
PASS: AddressSanitizer-Unit :: ./Asan-powerpc64le-calls-Dynamic-Test/68/96 (5037 of 5038)
PASS: AddressSanitizer-Unit :: ./Asan-powerpc64le-inline-Dynamic-Test/68/96 (5038 of 5038)

command timed out: 1800 seconds without output running [b'python', b'../sanitizer_buildbot/sanitizers/zorg/buildbot/builders/sanitizers/buildbot_selector.py'], attempting to kill
process killed by signal 9
program finished with exit code -1
elapsedTime=6324.552459

mikolaj-pirog pushed a commit to mikolaj-pirog/llvm-project that referenced this pull request Oct 23, 2025
…164025)

Add MIR2Vec support to the llvm-ir2vec tool, enabling embedding generation for Machine IR alongside the existing LLVM IR functionality.

(This is an initial integration; Other entity/triplet gen for vocab generation would follow as separate patches)
mikolaj-pirog pushed a commit to mikolaj-pirog/llvm-project that referenced this pull request Oct 23, 2025
Fixes the build issue in `openmp-offload-amdgpu-runtime-2` caused by
llvm#164025
@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 23, 2025

LLVM Buildbot has detected a new failure on builder polly-x86_64-linux-shared running on polly-x86_64-gce2 while building llvm at step 5 "build".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/97/builds/8935

Here is the relevant piece of the build log for the reference
Step 5 (build) failure: 'ninja' (failure)
...
[4499/4541] Linking CXX shared module unittests/Analysis/InlineOrderPlugin.so
[4500/4541] Building CXX object unittests/CodeGen/CGPluginTest/Plugin/CMakeFiles/CGTestPlugin.dir/CodeGenTestPass.cpp.o
[4501/4541] Building CXX object unittests/CodeGen/CGPluginTest/Plugin/CMakeFiles/CGTestPlugin.dir/Plugin.cpp.o
[4502/4541] Linking CXX shared module lib/CGTestPlugin.so
[4503/4541] Building CXX object unittests/Passes/Plugins/TestPlugin/CMakeFiles/TestPlugin.dir/TestPlugin.cpp.o
[4504/4541] Building CXX object tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o
[4505/4541] Linking CXX shared module unittests/Passes/Plugins/TestPlugin.so
[4506/4541] Building CXX object unittests/Passes/Plugins/DoublerPlugin/CMakeFiles/DoublerPlugin.dir/DoublerPlugin.cpp.o
[4507/4541] Linking CXX shared module unittests/Passes/Plugins/DoublerPlugin.so
[4508/4541] Linking CXX executable bin/llvm-ir2vec
FAILED: bin/llvm-ir2vec 
: && /usr/bin/c++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-dangling-reference -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -fuse-ld=lld -Wl,--color-diagnostics     -Wl,--gc-sections tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o -o bin/llvm-ir2vec  -Wl,-rpath,"\$ORIGIN/../lib:/home/worker/workers/polly-x86_64-gce2/polly-x86_64-linux-shared/llvm.obj/lib:"  lib/libLLVMMIRParser.so.22.0git  lib/libLLVMX86AsmParser.so.22.0git  lib/libLLVMX86CodeGen.so.22.0git  lib/libLLVMNVPTXCodeGen.so.22.0git  lib/libLLVMX86Desc.so.22.0git  lib/libLLVMNVPTXDesc.so.22.0git  lib/libLLVMX86Info.so.22.0git  lib/libLLVMNVPTXInfo.so.22.0git  lib/libLLVMCodeGen.so.22.0git  lib/libLLVMAnalysis.so.22.0git  lib/libLLVMIRReader.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/worker/workers/polly-x86_64-gce2/polly-x86_64-linux-shared/llvm.obj/lib && :
ld.lld: error: undefined symbol: llvm::Triple::Triple(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&&)
>>> referenced by llvm-ir2vec.cpp
>>>               tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o:(main::'lambda'(llvm::StringRef, llvm::StringRef)::operator()(llvm::StringRef, llvm::StringRef) const (.isra.0))

ld.lld: error: undefined symbol: llvm::sys::getDefaultTargetTriple[abi:cxx11]()
>>> referenced by llvm-ir2vec.cpp
>>>               tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o:(main::'lambda'(llvm::StringRef, llvm::StringRef)::operator()(llvm::StringRef, llvm::StringRef) const (.isra.0))

ld.lld: error: undefined symbol: llvm::Triple::setTriple(llvm::Twine const&)
>>> referenced by llvm-ir2vec.cpp
>>>               tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o:(main::'lambda'(llvm::StringRef, llvm::StringRef)::operator()(llvm::StringRef, llvm::StringRef) const (.isra.0))
collect2: error: ld returned 1 exit status
[4509/4541] Building CXX object unittests/Support/DynamicLibrary/CMakeFiles/DynamicLibraryLib.dir/ExportedFuncs.cpp.o
[4510/4541] Linking CXX shared library lib/libclang-cpp.so.22.0git
ninja: build stopped: subcommand failed.
Cache directory:              /home/worker/.cache/ccache
Config file:                  /home/worker/.config/ccache/ccache.conf
System config file:           /etc/ccache.conf
Stats updated:                Thu Oct 23 12:21:15 2025
Cacheable calls:               3529 / 3531 (99.94%)
  Hits:                        3523 / 3529 (99.83%)
    Direct:                    3523 / 3523 (100.0%)
    Preprocessed:                 0 / 3523 ( 0.00%)
  Misses:                         6 / 3529 ( 0.17%)
Uncacheable calls:                2 / 3531 ( 0.06%)
  Unsupported code directive:     2 /    2 (100.0%)
Successful lookups:
  Direct:                      3523 / 3531 (99.77%)
  Preprocessed:                   0 /    6 ( 0.00%)
Local storage:
  Cache size (GiB):             3.2 /  5.0 (64.08%)
  Files:                      79606
  Hits:                        3523 / 3529 (99.83%)
  Misses:                         6 / 3529 ( 0.17%)
  Reads:                       7060
  Writes:                        12

@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 23, 2025

LLVM Buildbot has detected a new failure on builder polly-x86_64-linux-shared-plugin running on polly-x86_64-gce2 while building llvm at step 5 "build".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/118/builds/8587

Here is the relevant piece of the build log for the reference
Step 5 (build) failure: 'ninja' (failure)
...
[4049/4541] Creating library symlink lib/libLLVMExegesisX86.so
[4050/4541] Building CXX object tools/llvm-ifs/CMakeFiles/llvm-ifs.dir/ErrorCollector.cpp.o
[4051/4541] Linking CXX executable bin/llvm-gsymutil
[4052/4541] Building CXX object tools/llvm-ifs/CMakeFiles/llvm-ifs.dir/llvm-ifs.cpp.o
[4053/4541] Building CXX object tools/llvm-ifs/CMakeFiles/llvm-ifs.dir/llvm-ifs-driver.cpp.o
[4054/4541] Building CXX object tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o
[4055/4541] Linking CXX executable bin/llvm-exegesis
[4056/4541] Building CXX object tools/llvm-isel-fuzzer/CMakeFiles/llvm-isel-fuzzer.dir/DummyISelFuzzer.cpp.o
[4057/4541] Linking CXX executable bin/llvm-ifs
[4058/4541] Linking CXX executable bin/llvm-ir2vec
FAILED: bin/llvm-ir2vec 
: && /usr/bin/c++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-dangling-reference -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -fuse-ld=lld -Wl,--color-diagnostics     -Wl,--gc-sections tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o -o bin/llvm-ir2vec  -Wl,-rpath,"\$ORIGIN/../lib:/home/worker/workers/polly-x86_64-gce2/polly-x86_64-linux-shared-plugin/llvm.obj/lib:"  lib/libLLVMMIRParser.so.22.0git  lib/libLLVMX86AsmParser.so.22.0git  lib/libLLVMX86CodeGen.so.22.0git  lib/libLLVMNVPTXCodeGen.so.22.0git  lib/libLLVMX86Desc.so.22.0git  lib/libLLVMNVPTXDesc.so.22.0git  lib/libLLVMX86Info.so.22.0git  lib/libLLVMNVPTXInfo.so.22.0git  lib/libLLVMCodeGen.so.22.0git  lib/libLLVMAnalysis.so.22.0git  lib/libLLVMIRReader.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/worker/workers/polly-x86_64-gce2/polly-x86_64-linux-shared-plugin/llvm.obj/lib && :
ld.lld: error: undefined symbol: llvm::Triple::Triple(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&&)
>>> referenced by llvm-ir2vec.cpp
>>>               tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o:(main::'lambda'(llvm::StringRef, llvm::StringRef)::operator()(llvm::StringRef, llvm::StringRef) const (.isra.0))

ld.lld: error: undefined symbol: llvm::sys::getDefaultTargetTriple[abi:cxx11]()
>>> referenced by llvm-ir2vec.cpp
>>>               tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o:(main::'lambda'(llvm::StringRef, llvm::StringRef)::operator()(llvm::StringRef, llvm::StringRef) const (.isra.0))

ld.lld: error: undefined symbol: llvm::Triple::setTriple(llvm::Twine const&)
>>> referenced by llvm-ir2vec.cpp
>>>               tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o:(main::'lambda'(llvm::StringRef, llvm::StringRef)::operator()(llvm::StringRef, llvm::StringRef) const (.isra.0))
collect2: error: ld returned 1 exit status
[4059/4541] Building CXX object tools/llvm-itanium-demangle-fuzzer/CMakeFiles/llvm-itanium-demangle-fuzzer.dir/DummyDemanglerFuzzer.cpp.o
[4060/4541] Building CXX object tools/llvm-isel-fuzzer/CMakeFiles/llvm-isel-fuzzer.dir/llvm-isel-fuzzer.cpp.o
ninja: build stopped: subcommand failed.
Cache directory:              /home/worker/.cache/ccache
Config file:                  /home/worker/.config/ccache/ccache.conf
System config file:           /etc/ccache.conf
Stats updated:                Thu Oct 23 12:29:30 2025
Cacheable calls:               3173 / 3175 (99.94%)
  Hits:                        3173 / 3173 (100.0%)
    Direct:                    3173 / 3173 (100.0%)
    Preprocessed:                 0 / 3173 ( 0.00%)
  Misses:                         0 / 3173 ( 0.00%)
Uncacheable calls:                2 / 3175 ( 0.06%)
  Unsupported code directive:     2 /    2 (100.0%)
Successful lookups:
  Direct:                      3173 / 3175 (99.94%)
  Preprocessed:                   0
Local storage:
  Cache size (GiB):             3.2 /  5.0 (64.09%)
  Files:                      79613
  Hits:                        3173 / 3173 (100.0%)
  Misses:                         0 / 3173 ( 0.00%)
  Reads:                       6348
  Writes:                         0

@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 23, 2025

LLVM Buildbot has detected a new failure on builder flang-aarch64-latest-gcc running on linaro-flang-aarch64-latest-gcc while building llvm at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/130/builds/15809

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
4415.344 [367/1/7398] Building CXX object tools/llvm-gsymutil/CMakeFiles/llvm-gsymutil.dir/llvm-gsymutil-driver.cpp.o
4415.716 [365/2/7399] Building Opts.inc...
4415.926 [365/1/7400] Linking CXX executable bin/llvm-gsymutil
4416.312 [364/1/7401] Building CXX object tools/llvm-ifs/CMakeFiles/llvm-ifs.dir/ErrorCollector.cpp.o
4416.872 [363/1/7402] Building CXX object tools/llvm-ifs/CMakeFiles/llvm-ifs.dir/llvm-ifs.cpp.o
4417.242 [362/1/7403] Building CXX object tools/llvm-ifs/CMakeFiles/llvm-ifs.dir/llvm-ifs-driver.cpp.o
4417.652 [361/1/7404] Linking CXX executable bin/llvm-ifs
4417.941 [359/2/7405] Building CXX object tools/llvm-isel-fuzzer/CMakeFiles/llvm-isel-fuzzer.dir/DummyISelFuzzer.cpp.o
4435.491 [359/1/7406] Building CXX object tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o
4435.798 [358/1/7407] Linking CXX executable bin/llvm-ir2vec
FAILED: bin/llvm-ir2vec 
: && /usr/local/bin/c++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-dangling-reference -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-latest-gcc/build/./lib  -Wl,--gc-sections tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o -o bin/llvm-ir2vec  -Wl,-rpath,"\$ORIGIN/../lib:/home/tcwg-buildbot/worker/flang-aarch64-latest-gcc/build/lib:"  lib/libLLVMMIRParser.so.22.0git  lib/libLLVMAArch64AsmParser.so.22.0git  lib/libLLVMAArch64CodeGen.so.22.0git  lib/libLLVMAArch64Desc.so.22.0git  lib/libLLVMAArch64Info.so.22.0git  lib/libLLVMCodeGen.so.22.0git  lib/libLLVMAnalysis.so.22.0git  lib/libLLVMIRReader.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-latest-gcc/build/lib && :
/usr/bin/ld: tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o: undefined reference to symbol '_ZN4llvm6TripleC1EONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE'
/usr/bin/ld: /home/tcwg-buildbot/worker/flang-aarch64-latest-gcc/build/./lib/libLLVMTargetParser.so.22.0git: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 23, 2025

LLVM Buildbot has detected a new failure on builder clang-ppc64le-linux-multistage running on ppc64le-clang-multistage-test while building llvm at step 4 "build stage 1".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/76/builds/13277

Here is the relevant piece of the build log for the reference
Step 4 (build stage 1) failure: 'ninja' (failure)
...
[6241/6562] Linking CXX static library lib/libLLVMExegesisX86_static.a
[6242/6562] Linking CXX static library lib/libLLVMExegesisMips_static.a
[6243/6562] Linking CXX static library lib/libLLVMExegesisAArch64_static.a
[6244/6562] Linking CXX executable bin/llvm-exegesis
[6245/6562] Linking CXX shared library lib/libLLVMAMDGPUCodeGen.so.22.0git
[6246/6562] Creating library symlink lib/libLLVMAMDGPUCodeGen.so
[6247/6562] Linking CXX static library lib/libLLVMOptDriver_static.a
[6248/6562] Linking CXX shared library lib/libLTO.so.22.0git
[6249/6562] Creating library symlink lib/libLTO.so
[6250/6562] Linking CXX executable bin/llvm-ir2vec
FAILED: bin/llvm-ir2vec 
: && /usr/lib64/ccache/c++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-array-bounds -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wno-comment -Wno-misleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -Wl,-rpath-link,/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-multistage-test/clang-ppc64le-multistage/stage1/./lib  -Wl,--gc-sections tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o -o bin/llvm-ir2vec  -Wl,-rpath,"\$ORIGIN/../lib:/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-multistage-test/clang-ppc64le-multistage/stage1/lib:"  lib/libLLVMAArch64AsmParser.so.22.0git  lib/libLLVMAMDGPUAsmParser.so.22.0git  lib/libLLVMARMAsmParser.so.22.0git  lib/libLLVMAVRAsmParser.so.22.0git  lib/libLLVMBPFAsmParser.so.22.0git  lib/libLLVMLoongArchAsmParser.so.22.0git  lib/libLLVMMipsAsmParser.so.22.0git  lib/libLLVMMSP430AsmParser.so.22.0git  lib/libLLVMPowerPCAsmParser.so.22.0git  lib/libLLVMRISCVAsmParser.so.22.0git  lib/libLLVMSparcAsmParser.so.22.0git  lib/libLLVMSystemZAsmParser.so.22.0git  lib/libLLVMVEAsmParser.so.22.0git  lib/libLLVMWebAssemblyAsmParser.so.22.0git  lib/libLLVMX86AsmParser.so.22.0git  lib/libLLVMAArch64CodeGen.so.22.0git  lib/libLLVMAMDGPUCodeGen.so.22.0git  lib/libLLVMARMCodeGen.so.22.0git  lib/libLLVMAVRCodeGen.so.22.0git  lib/libLLVMBPFCodeGen.so.22.0git  lib/libLLVMHexagonCodeGen.so.22.0git  lib/libLLVMLanaiCodeGen.so.22.0git  lib/libLLVMLoongArchCodeGen.so.22.0git  lib/libLLVMMipsCodeGen.so.22.0git  lib/libLLVMMSP430CodeGen.so.22.0git  lib/libLLVMNVPTXCodeGen.so.22.0git  lib/libLLVMPowerPCCodeGen.so.22.0git  lib/libLLVMRISCVCodeGen.so.22.0git  lib/libLLVMSparcCodeGen.so.22.0git  lib/libLLVMSPIRVCodeGen.so.22.0git  lib/libLLVMSystemZCodeGen.so.22.0git  lib/libLLVMVECodeGen.so.22.0git  lib/libLLVMWebAssemblyCodeGen.so.22.0git  lib/libLLVMX86CodeGen.so.22.0git  lib/libLLVMXCoreCodeGen.so.22.0git  lib/libLLVMAArch64Desc.so.22.0git  lib/libLLVMAMDGPUDesc.so.22.0git  lib/libLLVMARMDesc.so.22.0git  lib/libLLVMAVRDesc.so.22.0git  lib/libLLVMBPFDesc.so.22.0git  lib/libLLVMLoongArchDesc.so.22.0git  lib/libLLVMMipsDesc.so.22.0git  lib/libLLVMMSP430Desc.so.22.0git  lib/libLLVMNVPTXDesc.so.22.0git  lib/libLLVMPowerPCDesc.so.22.0git  lib/libLLVMRISCVDesc.so.22.0git  lib/libLLVMSparcDesc.so.22.0git  lib/libLLVMSPIRVDesc.so.22.0git  lib/libLLVMSystemZDesc.so.22.0git  lib/libLLVMVEDesc.so.22.0git  lib/libLLVMX86Desc.so.22.0git  lib/libLLVMXCoreDesc.so.22.0git  lib/libLLVMAArch64Info.so.22.0git  lib/libLLVMAMDGPUInfo.so.22.0git  lib/libLLVMARMInfo.so.22.0git  lib/libLLVMAVRInfo.so.22.0git  lib/libLLVMBPFInfo.so.22.0git  lib/libLLVMLoongArchInfo.so.22.0git  lib/libLLVMMipsInfo.so.22.0git  lib/libLLVMMSP430Info.so.22.0git  lib/libLLVMNVPTXInfo.so.22.0git  lib/libLLVMPowerPCInfo.so.22.0git  lib/libLLVMRISCVInfo.so.22.0git  lib/libLLVMSparcInfo.so.22.0git  lib/libLLVMSPIRVInfo.so.22.0git  lib/libLLVMSystemZInfo.so.22.0git  lib/libLLVMVEInfo.so.22.0git  lib/libLLVMX86Info.so.22.0git  lib/libLLVMXCoreInfo.so.22.0git  -lpthread  lib/libLLVMMIRParser.so.22.0git  lib/libLLVMHexagonAsmParser.so.22.0git  lib/libLLVMHexagonDesc.so.22.0git  lib/libLLVMHexagonInfo.so.22.0git  lib/libLLVMLanaiAsmParser.so.22.0git  lib/libLLVMLanaiDesc.so.22.0git  lib/libLLVMLanaiInfo.so.22.0git  lib/libLLVMWebAssemblyDesc.so.22.0git  lib/libLLVMWebAssemblyInfo.so.22.0git  lib/libLLVMCodeGen.so.22.0git  lib/libLLVMAnalysis.so.22.0git  lib/libLLVMIRReader.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-multistage-test/clang-ppc64le-multistage/stage1/lib && :
/usr/bin/ld: tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o: undefined reference to symbol '_ZN4llvm6TripleC1EONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE'
/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-multistage-test/clang-ppc64le-multistage/stage1/./lib/libLLVMTargetParser.so.22.0git: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
[6251/6562] Linking CXX shared library lib/libLLVMOptDriver.so.22.0git
[6252/6562] Linking CXX executable bin/bugpoint
[6253/6562] Linking C executable bin/clang-fuzzer-dictionary
[6254/6562] Linking CXX executable bin/llvm-lto
[6255/6562] Linking CXX shared library lib/libclangAST.so.22.0git
[6256/6562] Linking CXX executable bin/clang-sycl-linker
[6257/6562] Linking CXX executable bin/llvm-c-test
[6258/6562] Linking CXX executable bin/llc
[6259/6562] Linking CXX executable bin/llvm-isel-fuzzer
[6260/6562] Linking CXX executable bin/llvm-opt-fuzzer
[6261/6562] Linking CXX executable bin/llvm-split
[6262/6562] Linking CXX executable bin/llvm-gsymutil
[6263/6562] Linking CXX executable bin/llvm-lto2
[6264/6562] Linking CXX executable bin/llvm-libtool-darwin
[6265/6562] Linking CXX executable bin/clang-nvlink-wrapper
[6266/6562] Linking CXX executable bin/llvm-dwp
[6267/6562] Linking CXX executable bin/llvm-reduce
[6268/6562] Linking CXX executable bin/llvm-lipo
[6269/6562] Linking CXX executable bin/llvm-dwarfutil
[6270/6562] Linking CXX executable bin/clang-linker-wrapper
[6271/6562] Linking CXX executable bin/dsymutil
[6272/6562] Linking CXX shared library lib/libclang-cpp.so.22.0git
ninja: build stopped: subcommand failed.

dvbuka pushed a commit to dvbuka/llvm-project that referenced this pull request Oct 27, 2025
…164025)

Add MIR2Vec support to the llvm-ir2vec tool, enabling embedding generation for Machine IR alongside the existing LLVM IR functionality.

(This is an initial integration; Other entity/triplet gen for vocab generation would follow as separate patches)
dvbuka pushed a commit to dvbuka/llvm-project that referenced this pull request Oct 27, 2025
Fixes the build issue in `openmp-offload-amdgpu-runtime-2` caused by
llvm#164025
Lukacma pushed a commit to Lukacma/llvm-project that referenced this pull request Oct 29, 2025
…164025)

Add MIR2Vec support to the llvm-ir2vec tool, enabling embedding generation for Machine IR alongside the existing LLVM IR functionality.

(This is an initial integration; Other entity/triplet gen for vocab generation would follow as separate patches)
Lukacma pushed a commit to Lukacma/llvm-project that referenced this pull request Oct 29, 2025
Fixes the build issue in `openmp-offload-amdgpu-runtime-2` caused by
llvm#164025
aokblast pushed a commit to aokblast/llvm-project that referenced this pull request Oct 30, 2025
…164025)

Add MIR2Vec support to the llvm-ir2vec tool, enabling embedding generation for Machine IR alongside the existing LLVM IR functionality.

(This is an initial integration; Other entity/triplet gen for vocab generation would follow as separate patches)
aokblast pushed a commit to aokblast/llvm-project that referenced this pull request Oct 30, 2025
Fixes the build issue in `openmp-offload-amdgpu-runtime-2` caused by
llvm#164025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants